如果我有一个需要2个回调函数的存根,那么当调用stubbed函数时,如何连接sinon.js到调用两个回调?sinon.js存根(stub) - 你可以在一个stubbed函数上调用多个回调吗?
例如 - 这里就是我想存根这需要2个函数作为参数功能:
function stubThisThing(one, two) {
... one and two are functions ...
... contents stubbed by sinon.js ...
}
我可以用兴农调用的参数一方:
stubbedThing.callsArg(0);
或
stubbedThing.callsArg(1);
但我似乎无法让这两个被称为。如果我尝试:
stubbedThing.callsArg(0).callsArg(1);
或
stubbedThing.callsArg(0);
stubbedThing.callsArg(1);
然后兴农将只调用第二个参数。如果我以另一种顺序将它连接起来,那么sinon会称之为第一个arg。但是,我希望两个人都被一个接一个地叫出来。
你有没有检查过'calledWith'方法 – Pawan
@Pawan - 你的意思是来自间谍API的'calledWith'功能吗?那真的不是我想要的。我想改变存根的行为。 – serg10
sinon.js只支持每次调用每个调用最多一次回调**。它可以在多个呼叫上调用多个回叫,例如。 'stubbedThing.onCall(0).callsArg(0); stubbedThing.onCall(1).callsArg(1);'。或者你可以在调用stubbedThing后手动调用'callArg': 'stubbedThing(firstArg,secondArg); stubbedThing.callArg(0); //调用firstArgs; stubbedThing.callArg(1)//调用secondArg# – nemesv