0

クラスの内部実装を 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

うーん、私はそれを理解したと思います.クラス自体をモックし、実際の入力/出力をほとんど無視して、正しい呼び出しが行われていることを確認する必要があります. パブリック メソッドをテストするにはinternalCheckinternalCheck.

4

1 に答える 1