犀牛嘲笑 - 流利嘲弄 - 期待。问候

时间:2010-05-17 08:14:21

标签: c# rhino-mocks

我正在尝试使用流畅的模拟样式的Rhino.Mocks,并使用以下代码,这些代码适用于名为“工厂”的模拟IDictionary对象:

With.Mocks(_Repository).Expecting(() =>
        {
            Expect.Call(() => factories.ContainsKey(Arg<String>.Is.Anything));
            LastCall.Return(false);

            Expect.Call(() => factories.Add(Arg<String>.Is.Anything, Arg<Object>.Is.Anything));
        }).Verify(() =>
        {
            _Service = new ObjectRequestService(factories);
            _Service.RegisterObjectFactory(Valid_Factory_Key, factory);
        });

现在,我能够设置ContainsKey调用的返回值的唯一方法是在下一行使用LastCall.Return(true)。

我确定我在这里混合样式,因为Expect.Call()有一个.Return(Expect.Action)方法,但我无法弄清楚我是如何正确使用它来返回一个布尔值?

任何人都可以帮忙吗?希望这个问题足够清楚 - 让我知道是否有人需要更多信息!

干杯, 本

1 个答案:

答案 0 :(得分:3)

我相信以下一行会给你想要的东西:

Expect.Call(factories.ContainsKey(Arg<string>.Is.Anything)).Return(false);