在RhinoMocks中SetupResult和Stub之间有区别吗?

时间:2009-05-19 05:23:43

标签: c# rhino-mocks

是否有,如果有的话? :

    var storage = mocks.DynamicMock<IStorage>();

...

    SetupResult.For(storage.GetCustomers())
        .Return(new Collection<Customer> { cust1, cust2 });

            // and

    storage.Stub(x => x.Customers)
        .Return(new Collection<Customer> { cust1, cust2 });

1 个答案:

答案 0 :(得分:3)

编辑:之前我没有看过Stub扩展方法,只看到了存储库中的方法。

我怀疑主要区别在于,当模拟处于任一模式(重放或记录)时,您可以调用Stub。它会暂时将其设置回记录模式,记录动作,然后在重放模式下重新开始重放。

它还允许您在一个lambda表达式中存根多个动作,只要您只需要其中一个动作(最后一个)来返回结果。