为了账号安全,请及时绑定邮箱和手机立即绑定

NSubstitute 方法使用特定的参数序列调用多次?

NSubstitute 方法使用特定的参数序列调用多次?

C#
梵蒂冈之花 2023-12-17 10:18:01
我想检查某个特定方法是否被调用 N 次,首先使用 arg x1,然后使用 x2,然后使用 x3,等等,最后使用 arg xN。我知道可以这样做:Received.InOrder(() => {    subst.MyMethod(x1);    subst.MyMethod(x2);    subst.MyMethod(x3);    // ...    subst.MyMethod(xN);});但是可以通过某种简单列出参数序列的方式来完成吗?像这样的东西(概念性的):int[] args = {x1, x2, x3, /*...*/ xN};subst.Received(N).MyMethod(Arg.Is(args));这是一个使用 InOrder 的实现,但我认为这是一种解决方法:int[] args = {x1, x2, x3, /*...*/ xN};Received.InOrder(() => {    foreach (int i in args)        subst.MyMethod(i);});
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞


NSubstitute API 没有执行此操作的方法。对我来说,foreach 方法是最清晰的;它准确地显示了测试成功的预期。如果您经常需要,您可以编写一个方法来打包此逻辑,但是虽然它可能会使其更加简洁,但我认为这不会使其变得更清晰。


查看完整回答
反对 回复 2023-12-17
  • 1 回答
  • 0 关注
  • 102 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信