Tma*_*ate 7 .net c# unit-testing rhino-mocks mocking
如果使用简单的参数(如Arg.Is.Equal(1)等)调用我的方法,我使用AssertWasCalled进行检查时使用RhinoMocks没有问题.
但是,当我试图期待我自己创建的复杂对象时,它会失败,例如
Arg<CustomClass>.Is.Equal(CustomClassInstance)
Run Code Online (Sandbox Code Playgroud)
当然,我很清楚这不应该有效,因为引用不匹配.但是,我的问题是:我如何让它发挥作用?如何让RhinoMocks期望一个具有特定值的对象?
您可以使用Arg<T>.Matches (Predicate<T> predicate)
:
mock.AssertWasCalled (m => m.Foo (Arg<CustomClass>.Matches (c => c.Foo == CustomClassInstance.Foo));
Run Code Online (Sandbox Code Playgroud)