我可以在Rhino Mocks中获得预期使用的参数吗?

4 rhino-mocks

我正在建立对构建和执行查询的方法的调用的期望.我想询问所用参数的属性.这可能吗

using (mocks.Record())
{
    Expect.Call(connection.Retrieve(SOMETHING_HERE)).Return(returnedDatay);
}
Run Code Online (Sandbox Code Playgroud)

我追求的是"SOMETHING HERE"位.

(这是我第一次使用Rhino嘲笑)

Jak*_*sen 10

您可以设置参数和参数属性的约束.以下代码在连接对象上的名为MyProperty的属性上设置约束.模拟期望MyProperty为42.注意,null被作为参数传递,因为它被忽略.

Expect
    .Call(connection.Retrieve(null))
    .IgnoreArguments()
    .Constraints(Property.Value("MyProperty", 42))
    .Return(returnedData);
Run Code Online (Sandbox Code Playgroud)

我是从记忆中写的,所以它可能不是绝对正确的.


更新:

Rhino Mocks 3.5版引入了一个新的扩展方法GetArgumentsForCallsMadeOn,它允许您检查传递给模拟对象的参数:

http://kashfarooq.wordpress.com/2009/01/10/rhino-mocks-and-getargumentsforcallsmadeon/