クラスの内部実装を UnitTests でカバーしました。今でもパブリック インターフェイスをテストすることは有用ですか (これは、内部メソッドへの一連の呼び出しにすぎない 1 つの関数です)。
同じことをテストする追加のテストを追加するように感じます。
それとも、すべての UnitTested メソッドがうまく連携するかどうかをテストする方法で、パブリック インターフェイスをテストすることは、統合テストに近いのでしょうか (データ アクセスをスタブ化したので、すべてメモリで処理されます)。
例:
internal bool internalCheck() {
// complex logic that is being unit tested
}
internal void internalDoSomething() {
// do stuff. is being unit tested
}
public void DoIt() {
if (internalCheck()) {
internalDoSomething();
}
}
ここで、 test というテストを追加する場合DoIt
、基本的にすべてのロジック フローを再テストすることになり、true が返されたときにが呼び出されているinternalCheck
ことをアサートします。internalDoSomething
うーん、私はそれを理解したと思います.クラス自体をモックし、実際の入力/出力をほとんど無視して、正しい呼び出しが行われていることを確認する必要があります. パブリック メソッドをテストするにはinternalCheck
、internalCheck
.