使用Moq永远不会设置验证属性

g t*_*g t 3 c# unit-testing properties moq verify

可能重复:
Moq - 如何验证是否通过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());
}
Run Code Online (Sandbox Code Playgroud)

但是,这个测试通过,即使Property在之前的线路上清楚地访问了Verify.

所以看来Verify实际上意味着VerifyGet.

我该如何验证是否从未设置过属性?

Jus*_*ter 15

请改用以下代码:

mock.VerifySet(x => x.Property = It.IsAny<int>(), Times.Never());