如何检查是否在Mock对象上调用了特定的属性设置器?

本文关键字:调用 属性 设置 对象 何检查 检查 Mock 是否 | 更新日期: 2023-09-27 18:11:09

对于下面给定的模拟对象,我如何检查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
    }

如何检查是否在Mock对象上调用了特定的属性设置器?

From Here:

mock.AssertWasCalled(x => x.Name ="Bob");

mock.AssertWasCalled(x => x.Name =Arg.Is("Bob"));

mock.AssertWasCalled(x => x.Name =Arg<string>.Is.NotNull);

我如何在the_ajp的链接后做到这一点:

mockCar.AssertWasCalled(car => { var dummy = car.TiresWashed; }, options 
 => options.SetPropertyWithArgument(Arg<object>.Is.Anything));