我正在尝试使用流畅的模拟样式的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)方法,但我无法弄清楚我是如何正确使用它来返回一个布尔值?
任何人都可以帮忙吗?希望这个问题足够清楚 - 让我知道是否有人需要更多信息!
干杯, 本
答案 0 :(得分:3)
我相信以下一行会给你想要的东西:
Expect.Call(factories.ContainsKey(Arg<string>.Is.Anything)).Return(false);