如何验证替代者根本没有接到任何电话?

How to verify that a substitute received no calls at all?

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

我正在寻找功能上类似于 Moq 的 VerifyNoOtherCalls() 被调用而没有任何其他验证检查的东西。

扩展方法 ReceivedCalls(),returns 替代者接收到所有呼叫,可用于测试是否接收到 没有 呼叫。

例如(使用 FluentAssertions):

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

或使用 MSTest 断言:

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