unit-testing - 最小起订量:如何断言我的模拟对象上的方法未运行?

标签 unit-testing moq

我有模拟程序,可以在其中测试用正确的参数调用模拟对象上的方法,并返回正确的结果。

现在,我要检查另一种情况。在这种情况下,不应在模拟对象上运行任何方法。如何在单元测试中表达这一点?

最佳答案

您可以创建严格的模拟。这样,仅允许运行您设置的方法(或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/

相关文章:

c# - 使用配置文件指定连接字符串来定义单元测试中的数据源

.net - MVC 4 模拟 HttpContext - 如何模拟 DisplayModeProvider

moq - AutoFixture:模拟方法不返回卡住的实例

c# - 如何使用 Moq 模拟 IMongoCollection.Find

c# - 将 Moq 设置为在调用方法时增加值

javascript - 在为 RXJS observables 编写测试时,如何避免通过我的业务逻辑传递调度程序?

python - 有没有办法用 PyCharm 捕获单元测试异常?

angularjs - 如何使用 Sinon.js 测试 Angular $modal?

python - Python 调试器不会捕获单元测试中的异常

unit-testing - 最小起订量新手测试设置