如何只使用sinon.stub()

时间:2015-12-14 19:38:12

标签: javascript node.js unit-testing mocking sinon

我希望将doSomething存根与错误进行回调。但是,我只希望它在第一个响应时回调错误。我想在第一次调用后恢复存根

为了存根第一个电话,我可以这样做:

var stub = sinon.stub(someOjbect, "doSomething");
stub.onCall(0).callsArgWith(5, mockError);

第一次通话后如何恢复存根?例如

stub.onCall(1).restore();

以上显然不起作用,只是想举例说明我想要实现的目标

1 个答案:

答案 0 :(得分:0)

我认为这只会阻止第一次调用,但我不确定它是否适用于您的用例:

var stub = sinon.stub(someObject, 'doSomething', function(args) {

  someObject.doSomething.restore();
  return mockData;
});