4

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

using (mocks.Record())
{
    Expect.Call(connection.Retrieve(SOMETHING_HERE)).Return(returnedDatay);
}

我追求的是“这里的东西”位。

(这是我第一次使用 Rhino 模拟)

4

1 回答 1

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/

于 2009-04-21T15:44:51.763 回答