是否可以测试是否未使用Rhino Mocks 3.5调用属性设置器?
答案 0 :(得分:5)
这完全有可能:
public class OneProperty
{
virtual public int MyInt
{
get;
set;
}
}
[Test]
public void IntWasSet()
{
var prop = Rhino.Mocks.MockRepository.GenerateMock<OneProperty>();
prop.MyInt = 5;
prop.AssertWasNotCalled(x => x.MyInt = Arg<int>.Is.Anything);
prop.VerifyAllExpectations();
}
在Rhino Mocks 3.5上运行此测试会导致以下错误:
错误和失败:1)测试错误: InterfacerTests.TestMatchesInterface.IntWasSet Rhino.Mocks.Exceptions.ExpectationViolationException :期待那样 OneProperty.set_MyInt(什么);将 不被称为,但它被发现了 对嘲笑的实际调用 对象
我发现了Arg<T>
语法from this part of the Rhino documentation。
答案 1 :(得分:2)
将属性设置为测试中的某个已知值。调用不会更改属性的代码,然后声明该属性与它相同。不应该为此使用Rhino Mocks。