如果使用简单的参数调用我的方法,例如Arg.Is.Equal(1)等,我使用AssertWasCalled来检查RhinoMocks没有问题。
但是,当我试图期待我自己创建的复杂对象时,它失败了,例如
Arg<CustomClass>.Is.Equal(CustomClassInstance)
当然,我很清楚这不应该有效,因为引用不匹配。但是,我的问题是:我如何让它发挥作用?如何让RhinoMocks期望一个具有特定值的对象?
答案 0 :(得分:9)
您可以使用Arg<T>.Matches (Predicate<T> predicate)
之类的:
mock.AssertWasCalled (m => m.Foo (Arg<CustomClass>.Matches (c => c.Foo == CustomClassInstance.Foo));