Sinon存根与参数是否可以匹配某些但不是所有参数 [英] Can sinon stub withArgs match some but not all arguments

查看:11
本文介绍了Sinon存根与参数是否可以匹配某些但不是所有参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在清除一个函数,该函数被多个参数调用。我只想检查第一个参数。其余的都是回调函数,所以我不想去管它们。因此,我可能有以下两个调用,以AJAX为例:

method.get = sinon.stub();
method.get(25,function(){/* success callback */},function(){/* error callback */});         
method.get(10,function(){/* success callback */},function(){/* error callback */});
我不能使用method.get.calls...,因为它无法区分第一个get(25)和第二个get(10)。但如果我使用method.get.withArgs(25).calls...,则它也不匹配,因为withArgs()匹配所有参数,而这不匹配(而且永远不会匹配,使用这样的回调)。

如何让SINON存根仅根据第一个参数检查和设置响应?

推荐答案

https://sinonjs.org/releases/latest/matchers/#sinonmatchany

您可以使用sinon.match.any:

method.get.withArgs(25, sinon.match.any, sinon.match.any); 

这篇关于Sinon存根与参数是否可以匹配某些但不是所有参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆