可以将sinon存根与Args匹配一些,但不是所有的参数
我有一个函数,我被称为多个参数的存根。 我想检查第一个参数 。 其余的是callback函数,所以我想让他们独自一人。 因此,我可能会有以下2个调用,以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()
匹配所有参数,这不(也永远不能用这样的callback)。
我如何获得sinon stubs来检查并根据第一个arg设置响应?
http://sinonjs.org/docs/#sinon-match-api
你可以使用sinon.match.any:
method.get.withArgs(25, sinon.match.any, sinon.match.any);
如果你只是想检查你可以使用的第一个参数
method.get.withArgs(25).calledOnce
要么
method.get.calledWith(25)