来自Sinon.JS的stub.callsArg(index)有什么作用?

时间:2015-03-16 19:15:41

标签: javascript unit-testing sinon

说真的,我无法解决这个问题。文档告诉我们:

stub.callsArg(index) - 使存根在提供的索引处调用参数作为回调函数。 stub.callsArg(0);导致存根调用第一个参数作为回调。

但是,我不知道要编入索引的参数列表在哪里。也许我只是不明白存根是什么......

1 个答案:

答案 0 :(得分:8)

存根是具有可编程行为的noop功能。在您的情况下,callsArg(index)将对存根进行编程以期望index处的函数并立即调用它。

function sayHi() {
  console.log('hi');
}
var stub = sinon.stub().callsArg(2);
stub('abc', 42, sayHi); // prints "hi"