使用RhinoMocks - 我怎么能说“从现在开始调用某个函数 - 它应该返回一些值”。
我想说这样的话:
fakeCalculator.WhenCalled(factory => factory.AddNumbers(1, 2)).Return(3);
然后 - 当使用1和2调用AddNumbers函数时 - 它将返回3. I.e。我想提前定义,然后触发该功能。原因是我依赖于这个行为为我的mock注入另一个类 - 它将再次调用AddNumbers函数。
答案 0 :(得分:1)
这样的事情:
MockRepository mocks = new MockRepository();
IFactory factory = mocks.DynamicMock<IFactory>();
using(mocks.Record()) {
factory.AddNumbers(1, 2);
LastCall.Return(3);
factory.AddNumbers(2, 3);
LastCall.Return(5);
}
int result = factory.AddNumbers(1, 2);
Assert.AreEqual(3, result);
result = factory.AddNumbers(2, 3);
Assert.AreEqual(5, result);