現時点では次のように動作するクラスがあります。
public class MyClass {
public void Method1(){
if (false) {
Method2();
}
}
public void Method2(){
//do something here
}
}
そのため、Method2 が呼び出されることはありません (私のコードは少し異なって見えますが、この if 句が false と評価されるため、Method2 を実行しません。デバッグで確認しました)。Method2 が呼び出され、テストが失敗することを期待していることを RhinoMocks に伝えたいと思います。
MockRepository mock = new MockRepository();
MyClass presenter = mock.PartialMock<MyClass>();
Expect.Call(() => presenter.Method2()).IgnoreArguments();
mock.ReplayAll();
presenter.Method1();
mock.VerifyAll();
...しかし、テストはパスします。
(Expect.Call のラムダ式の理由は、実際の Method2 に引数があるためです)
私の質問:
- これは、このシナリオでテストするための通常のアプローチですか? (私はRhinoMocksとモックフレームワーク全般から始めたばかりです)
- なぜテストに合格するのですか?