1

私は職場と自宅の両方で TDD を開始しています (パーティーに遅れていることはわかっています)。クラスのパブリック メソッドのテストは既にいくつかあります。ただし、私が作成するクラスの多くには、保護された関数が多数あります。テスト クラスを作成するとき、保護されたメソッドをカバーできるように、テストするクラスをサブクラス化する必要がありますか?

ありがとう、

ジェック

4

5 に答える 5

1

クラスをサブクラス化して、保護されたインターフェイスをテストできます。

または、モック ライブラリにサブクラス化を行わせることもできます。保護されたインターフェイスの機能によっては、それが望ましい場合があります。

具体的には、基本クラスがテンプレート メソッド パターンを使用する場合は、サブクラスをモックとして作成する方がよいでしょう。基本クラスが、派生クラスが使用するヘルパー関数を提供するだけの場合は、それらを別のクラスに入れて公開することを検討してください。

于 2013-08-14T12:30:53.550 に答える