有没有一种方法可以使用sinon对方法进行存根,其中方法有两个参数

时间:2019-03-18 06:09:33

标签: javascript unit-testing mocha sinon chai

让我解释问题陈述:

我正在使用Mocha,Chai和Sinon。我正在尝试存根如下所示的方法:

myNamespace.myMethod({
  beforeSend() { ... }
}, callback)

我想存根myMethod并呼叫beforeSendcallback。我找不到有效的解决方案。我已经尝试了以下方法,但是不起作用:

sinon.stub(myNamespace, 'myMethod').yieldsTo('beforeSend', {}).callsArg(1);

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

对于相同的函数调用,不可能像这样将两个不同的行为链接在一起 ,因此useCallback最终会覆盖.callsArg(1)

对于这种情况,您将需要使用https://codesandbox.io/s/8490v55029提供伪造的实现:

.yieldsTo('beforeSend', {})