Неверный звонок, последний звонок был использован или звонок не был сделан
Я получаю эту ошибку, когда пытаюсь установить макет, чтобы иметьPropertyBehavior()
:
System.InvalidOperationException: System.InvalidOperationException: Неверный вызов, использовался последний вызов или не было сделано (убедитесь, что вы вызываете виртуальный (C #) / Overridable (VB) метод) ..
Я пытаюсь использовать толькоRhino Mocks 3.5 (Организовать, действовать, утверждать)
Вот мой код:
private IAddAddressForm form;
private AddAddressMediator mediator;
[TestInitialize()]
public void MyTestInitialize()
{
form = MockRepository.GenerateMock<IAddAddressForm>();
mediator = new AddAddressMediator(form);
// Make the properties work like a normal property
Expect.Call(form.OKButtonEnabled).PropertyBehavior();
//I tried this too. I still get the exception
//SetupResult.For(form.OKButtonEnabled).PropertyBehavior();
}
[TestMethod]
public void TestOKButtonEnabled()
{
form.OKButtonEnabled = true;
Assert.IsTrue(form.OKButtonEnabled);
}
Я знаю, что мог бы использовать заглушку (и для кода выше, я должен), но я пытаюсь изучить Rhino Mocks.
В конце концов я хочу быть в состоянии убедиться, что к нескольким свойствам имеют доступ к их значениям. (Любые советы о том, как это проверитьform.FirstName
был получен доступ (то есть получатель был вызван) также будет оценен.)
В случае, если это необходимо, вот кодIAddressForm
:
namespace AddressBook
{
public interface IAddAddressForm
{
string FirstName { get; set; }
string LastName { get; set; }
string Address1 { get; set; }
string State { get; set; }
string Address2 { get; set; }
string ZipCode { get; set; }
string City { get; set; }
bool OKButtonEnabled { get; set; }
}
}
Во всяком случае, я думал, что виртуальный не будет проблемой, так как я передаю интерфейс, но я явно что-то упускаю.