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

时间:2012-11-28 15:18:21

标签: c# unit-testing properties moq verify

  

可能重复:
  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

我应该如何验证永远不会设置属性?

1 个答案:

答案 0 :(得分:15)

请改用以下代码:

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