RhinoMocks 期望复杂对象作为参数

发布于 2024-10-25 05:42:12 字数 285 浏览 1 评论 0原文

如果我的方法是使用简单参数(例如 Arg.Is.Equal(1) 等)调用的,我使用 RhinoMocks 来检查使用 AssertWasCalled 没有问题。

但是,当我尝试期望自己创建的复杂对象时,它会失败,例如

Arg<CustomClass>.Is.Equal(CustomClassInstance)

当然,我很清楚这不应该起作用,因为引用不匹配。然而,我的问题是:我该如何让它发挥作用?如何让 RhinoMocks 期望一个内部具有特定值的对象?

I use RhinoMocks without problems for checking using AssertWasCalled if my method was called with simple parameters such as Arg.Is.Equal(1) etc.

However, it fails when I try to expect a complex object of my own creation, e.g.

Arg<CustomClass>.Is.Equal(CustomClassInstance)

Of course, I am well aware that this should not work because references don't match. However, my question is: how do I make it work? How can make RhinoMocks expect an object with certain values inside?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

泅渡 2024-11-01 05:42:12

您可以使用 Arg.Matches (Predicatepredicate) ,例如:

mock.AssertWasCalled (m => m.Foo (Arg<CustomClass>.Matches (c => c.Foo == CustomClassInstance.Foo));

You can use Arg<T>.Matches (Predicate<T> predicate) like:

mock.AssertWasCalled (m => m.Foo (Arg<CustomClass>.Matches (c => c.Foo == CustomClassInstance.Foo));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文