单元测试 – Moq:如何断言我的模拟对象上的方法没有运行?

我有模拟工作,我测试我的模拟对象上的方法使用正确的参数调用,并返回正确的结果.

现在我想检查另一个条件.在这种情况下,应该对模拟对象运行NO方法.如何在单元测试中表达这一点?

最佳答案
你可以创建你的模拟严格.这样,只允许运行您设置的方法(或Expect,具体取决于您正在播放的Moq版本).

var foo = new Mock<IFoo>(MockBehavior.Strict);
foo.Expect(f => f.Bar());

每次在foo上调用除Bar()之外的方法时,都会引发异常并且您的测试将失败.

转载注明原文:单元测试 – Moq:如何断言我的模拟对象上的方法没有运行? - 代码日志