NSubstitute.Received(1) 捕获多个已接电话

问题描述 投票:0回答:1

我正在使用 NSubstitute 编写测试用例来检查某个方法在我们的逻辑中仅被调用一次。

await _memberAddUpdateService.Received(1).UpdateMemberNameAsync(member);
await _customerAddUpdateService.DidNotReceive().AddCustomerAsync(member.Customer!);
await _customerAddUpdateService.Received(1).UpdateCustomerAsync(member.Customer!);
await _customerAddUpdateService.DidNotReceive().UpdateCustomerAsync(member.RfmsCustomer);

此检查通常在大多数情况下都有效,但偶尔会失败,表明任一方法被调用两次。唯一的问题是这些方法在我们的整个项目中只调用一次,并且没有循环会导致该方法被再次调用。

NSubstitute 的 Received 调用会出现这样的问题吗?还是我们的代码设计的某个方面可能导致它多次调用这些方法?

c# unit-testing nsubstitute
1个回答
0
投票

很可能是代码中多次调用方法的原因。

© www.soinside.com 2019 - 2024. All rights reserved.