如何检查Mock对象上是否调用了特定的属性setter?

pen*_*ake 2 .net c# unit-testing rhino-mocks

对于下面给出的模拟对象,如何检查WashCar(ICar car)方法是否设置了TiresWashed属性?

public interface ICar 
{
    string Model {get;set;}
    bool TiresWashed {get; set;}
    bool WindowsWashed {get; set; }
}

    [TestMethod]
    public vouid MyUnitTest()
    {
    ICar mockCar = MockRepository.GenerateMock<ICar>();
    CarServiceUtility.WashCar(mockCar);

    //Assert if PrepareCar method is called: (this is why I had mock)
    mockCar.AssertWasCalled(c=>c.PrepareCar());

    //TODO 
    // Assert if mockCar.TiresWashed is set with any value
    }
Run Code Online (Sandbox Code Playgroud)

Ami*_*ira 8

这里:

mock.AssertWasCalled(x => x.Name ="Bob");
Run Code Online (Sandbox Code Playgroud)

要么

mock.AssertWasCalled(x => x.Name =Arg.Is("Bob"));
Run Code Online (Sandbox Code Playgroud)

要么

mock.AssertWasCalled(x => x.Name =Arg<string>.Is.NotNull);
Run Code Online (Sandbox Code Playgroud)