如果我有一个需要两个回调函数的函数存根,我该如何使用sinon.js在调用存根函数时连接(sinon.js to wire up)这两个回调函数?
例如,这里有一个需要两个函数作为参数的函数:
例如,这里有一个需要两个函数作为参数的函数:
function stubThisThing(one, two) {
... one and two are functions ...
... contents stubbed by sinon.js ...
}
我可以使用sinon来调用任意一个参数:
stubbedThing.callsArg(0);
或者stubbedThing.callsArg(1);
但我似乎无法让两者都被调用。如果我尝试:
stubbedThing.callsArg(0).callsArg(1);
stubbedThing.callsArg(0);
stubbedThing.callsArg(1);
那么 sinon 只会调用第二个参数。如果我按另一种顺序安排,sinon 将调用第一个参数。然而,我希望两者都按顺序依次被调用。
calledWith
方法吗? - PawancalledWith
函数吗?那真的不是我要找的。我想改变存根的行为。 - serg10stubbedThing.onCall(0).callsArg(0); stubbedThing.onCall(1).callsArg(1);
。或者您可以在调用stubbedThing
后手动调用callArg
:例如stubbedThing(firstArg, secondArg); stubbedThing.callArg(0); //调用 firstArgs; stubbedThing.callArg(1) // 调用 secondArg
。 - nemesv