【发布时间】:2012-03-17 04:55:33
【问题描述】:
Moq 中是否有与 Rhino Mocks .Do() 方法等效的方法?我正在将我的 Rhino Mocks 代码转换为最小起订量,并坚持以下几点:
mockedObject
.Expect(x => x.GetSomething())
.Do((Func<SomeClass>)(() => new SomeClass());
这与(在 Moq 中,在 Rhino Mocks 中类似)不同:
mockedObject
.Setup(x => x.GetSomething())
.Return(new SomeClass());
当您在单元测试中多次调用GetSomething() 时,第一段代码将始终返回一个新实例。第二部分将始终返回相同的实例。
我想要的是让我的模拟对象(带起订量)始终返回一个新实例。所以我实际上想为我的模拟对象提供GetSomething() 方法的实现。
Using sequences 不会成功,因为我不知道GetSomething() 会被调用多少次,我对此也不感兴趣。
【问题讨论】:
标签: moq rhino-mocks