我有模拟程序,可以在其中测试用正确的参数调用模拟对象上的方法,并返回正确的结果。
现在,我要检查另一种情况。在这种情况下,不应在模拟对象上运行任何方法。如何在单元测试中表达这一点?
最佳答案
您可以创建严格的模拟。这样,仅允许运行您设置的方法(或Expect,取决于您正在使用的Moq版本)。
var foo = new Mock<IFoo>(MockBehavior.Strict);
foo.Expect(f => f.Bar());
每当在除Bar()之外的foo上调用方法时,都会引发异常,并且测试将失败。
关于unit-testing - 最小起订量:如何断言我的模拟对象上的方法未运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/490355/