我正在设置一个对构建和执行查询的方法的调用的期望。我想询问所用参数的属性。这可能吗
using (mocks.Record())
{
Expect.Call(connection.Retrieve(SOMETHING_HERE)).Return(returnedDatay);
}
我追求的是“SOMETHING HERE”位。
(这是我第一次使用Rhino嘲笑)
答案 0 :(得分:10)
您可以设置参数和参数属性的约束。以下代码在连接对象上的名为MyProperty的属性上设置约束。模拟器期望MyProperty为42.注意,null被作为参数传递,因为它被忽略了。
Expect
.Call(connection.Retrieve(null))
.IgnoreArguments()
.Constraints(Property.Value("MyProperty", 42))
.Return(returnedData);
我是从记忆中写的,所以它可能不是绝对正确的。
更新:
Rhino Mocks 3.5版引入了一个新的扩展方法GetArgumentsForCallsMadeOn,它允许您检查传递给模拟对象的参数:
http://kashfarooq.wordpress.com/2009/01/10/rhino-mocks-and-getargumentsforcallsmadeon/