c# - RhinoMocks 期望复杂对象作为参数

标签 c# .net unit-testing mocking rhino-mocks

我使用 RhinoMocks 毫无问题地使用 AssertWasCalled 检查我的方法是否使用简单的参数调用,例如 Arg.Is.Equal(1) 等。

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

Arg<CustomClass>.Is.Equal(CustomClassInstance)

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

最佳答案

您可以使用 Arg<T>.Matches (Predicate<T> predicate)喜欢:

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

关于c# - RhinoMocks 期望复杂对象作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5385793/

相关文章:

c# - 我如何获得巴哈马的地区和文化信息?

c# - 使用 C# 包装器时出现 Matlab 异常

.net - 为什么这个 .NET IL 空值检查没有按预期工作?

c# - 那些单元测试没问题吗?

python - Django 没有使用 manage.py 测试运行测试

c# - 单元测试 API Controller (asp.net 5、xunit)时对象未设置为引用

c# - Selenium WebDriver 偶尔抛出超时异常

c# - 在服务器上编译 C# 代码

c# - 如何证明嵌套else语句的执行顺序?

python - 关于编写测试友好代码的任何提示?