【发布时间】:2019-10-13 09:24:24
【问题描述】:
我正在升级到 .Net Core,这涉及将许多单元测试从 RhinoMocks 转换为 Moq,因为它支持 .Net Standard。
我一直在通过重复最近的模拟调用来转换 LastCall,但我很困惑,因为我有一个单元测试,其中 LastCall.Throw(Exception); 在任何模拟调用之前发生。
据我了解 LastCall,it allows you to do something additional to the last call that was added,但我知道我不明白某些事情,因为在我看来 LastCall 不能出现在至少一个模拟呼叫之前。
单元测试看起来像:
MockRepository mock = new MockRepository();
...
using (mocks.Record())
{
nonMockedObject.DoSomething();
LastCall.Throw(Exception);
Expect.Call(mockedObject.Stuff()).Return(true).Repeat.Any();
...
}
任何关于理解 RhinoMocks 的 LastCall 或如何将其转换为 Moq 的帮助将不胜感激。
【问题讨论】:
标签: c# unit-testing moq rhino-mocks