В настоящее время у меня есть тест, который проверяет докладчик, который у меня есть в модели MVP. У моего докладчика есть свойство, которое будет вызывать мой вид, который в моём тесте макетируется. В Инициализации моего теста, после того, как я установил свой Просмотр на Presenter как смоделированный Просмотр, я установил свое свойство на Presenter, которое будет вызывать этот метод.
В моем тесте у меня нет Expect.Call для метода, который я вызываю, но когда я запускаю, я получаю это ложное исключение Rhino:
Rhino.Mocks.Exceptions.ExpectationViolationException: IView.MethodToInvoke (); Ожидаемый # 1, фактический # 0 ..
Из того, что я понимаю с насмешками Rhino, до тех пор, пока я вызываю Mock за пределами ожидаемого блока, это не должно записывать это. Я хотел бы представить, чтобы испытание прошло. Есть ли причина, по которой он не проходит?
Ниже приведен код, показывающий мои настройки.
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();
});
}