次のテストは失敗すると思います。
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
。
プロパティが設定されていないことを確認するにはどうすればよいですか?