N代用機とユニットテストはかなり新しいです。 ユニットテストでは、他の依存関係は気にしません。したがって、このルールを適用するには、ユニットをモックします。Nsubstitute:オブジェクトを模擬してユニットテスト用のパラメータ
私は、メソッドは、オブジェクトのパラメータを持つコードテストするには、この例があります。
class dependency {
public int A;
public dependency() {
// algorithms going on ...
A = algorithm_output;
}
}
class toTest {
public int Xa;
public void Foo(dependency dep_input){
Xa = dep_input.A;
// Xa will be used in an algorithm ...
}
}
私は、コンストラクタをからかっを考えていたが、私はどのようにNsubstituteに把握することができませんでした。 最終的に、私はこれをどのようにテストするのですか?
NSubstituteでインターフェイスと仮想メソッドのみをモックできます。コンストラクターは、非仮想メソッドまたは静的メソッドと同様に、ノー・ゴーです。クラスにインターフェイスを追加する必要がありますか? –
これをテストしたいと思う場合は、インターフェイスを使いたいと思うでしょう。実際のクラスに依然として依存関係がある場合は、テストに影響を与える可能性のあるコードをそのクラスで実行する可能性があります。また、そのクラスの特定の動作に関するヒントが必要な場合もあります。 –
(私が働いているプロジェクトで何らかの理由で)テストするコードを変更できない場合はどうすればよいですか? @ LasseV.Karlsen –