可能重复:
Moq - How to verify that a property value is set via the setter
我希望以下测试失败:
public interface IObjectWithProperty
{
int Property { get; set; }
}
[TestMethod]
public void Property_ShouldNotBeCalled()
{
var mock = new Mock<IObjectWithProperty>();
mock.Object.Property = 10;
mock.Verify(x => x.Property, Times.Never());
}
但是,即使在Property
之前的行上清楚地访问Verify
,此测试也会通过。
所以似乎Verify
实际上意味着VerifyGet
。
我应该如何验证永远不会设置属性?
答案 0 :(得分:15)
请改用以下代码:
mock.VerifySet(x => x.Property = It.IsAny<int>(), Times.Never());