我正在设置一个以对象作为参数的方法。此对象将在被调用的功能内创建。当我嘲笑这个时,我得到一个错误,说预期#1实际#0
如何解决这个问题?
代码:
Customer testObject = new Customer(); Expect.Call(sampleRepository.Find(的TestObject))返回(真);
我怀疑创建一个新对象会使这种期望失败。
请帮忙。
答案 0 :(得分:1)
使用“IgnoreArguments”方法:
Customer testObject = new Customer(); Expect.Call(sampleRepository.Find(testObject)).IgnoreArguments().Return(True);
这告诉Rhino.Mocks只希望调用“查找”而你不关心参数是什么。
答案 1 :(得分:1)
除了Patrick的答案之外,您可以使用Constraints()
检查对象的属性,而无需检查对象实例本身。 Constraints
的每个参数都是该位置实际参数的约束(您可以将&&
或||
用于多个约束以组合它们):
Customer testObject = new Customer();
Expect.Call(sampleRepository.Find(testObject))
.Constraints(
Is.NotNull() && Property.Value("Nickname", "SnakeEyes")
)
.Return(True);