現在、MVPモデルにあるプレゼンターをテストするテストがあります。プレゼンターには、ビューを呼び出すプロパティがあります。これは、テストではモックアウトされています。テストの初期化では、プレゼンターのビューをモックビューに設定した後、このメソッドを呼び出すプレゼンターのプロパティを設定しました。
私のテストでは、呼び出すメソッドのExpect.Callはありませんが、実行すると、このRhinoモック例外が発生します。
Rhino.Mocks.Exceptions.ExpectationViolationException:IView.MethodToInvoke(); 期待される#1、実際の#0。
Rhinoモックで私が理解していることから、期待ブロックの外側のモックを呼び出している限り、これを記録するべきではありません。私はテストに合格することを想像します。合格しない理由はありますか?
以下は私のセットアップを示すためのいくつかのコードです。
public class Presenter
{
public IView View;
public Presenter(IView view)
{
View = view
}
private int _property;
public int Property
get { return _property;}
set
{
_property = value;
View.MethodToInvoke();
}
}
...以下のテストコード..。
[TestInitialize]
public void Initilize()
{
_mocks = new MockRepository();
_view = _mocks.StrictMock<IView>();
_presenter = new Presenter(_view);
_presenter.Property = 1;
}
[TestMethod]
public void Test()
{
Rhino.Mocks.With.Mocks(_mocks).Expecting(delegate
{
}).Verify(delegate
{
_presenter.SomeOtherMethod();
});
}