Неверный звонок, последний звонок был использован или звонок не был сделан

Я получаю эту ошибку, когда пытаюсь установить макет, чтобы иметь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; }
    }
}

Во всяком случае, я думал, что виртуальный не будет проблемой, так как я передаю интерфейс, но я явно что-то упускаю.

Ответы на вопрос(5)

Ваш ответ на вопрос