首页 > 解决方案 > 如何验证替代者根本没有接到任何电话?

问题描述

使用 NSubstitute。对于某些测试,我想断言 Substitute 没有收到任何呼叫。我可以DidNotReceiveWithAnyArgs()为接口中的每个方法使用,但这很乏味且不够健壮(如果向接口添加新方法,开发人员很容易忽略将其添加到测试中)。

我正在寻找功能类似于 Moq 的功能,VerifyNoOtherCalls()无需任何其他验证检查。

标签: nsubstitute

解决方案


扩展方法ReceivedCalls()返回替代者收到的所有呼叫,可用于测试没有收到呼叫。

例如(使用 FluentAssertions):

mySubstitute.ReceivedCalls().Should().BeEmpty();

或使用 MSTest 断言:

Assert.IsFalse(mySubstitute.ReceivedCalls().Any());

推荐阅读