我正在尝试在after()钩子内部调用sinon.restore(),但是它不执行在before()钩子内部编写的任何操作。
我已经编写了一些代码,用于在before()中为其中一项服务创建存根,并尝试返回多个收益。
然后,为了还原存根,我试图在after()函数中创建sinon.restore(),但是它不执行任何在before()内部编写的代码。
TestController1.test.js
var sinon = require('sinon');
describe('some test controller 1', function () {
before(function () {
var prop12 = { TEST: 'TEST_NAME'};
testStub1 = sinon.stub(mockService, 'getServiceByName');
testStub1.onCall(0).yields(null, prop12); // call 0
testStub1.onCall(1).yields(null, prop12); // call 1
});
after(function () {
sinon.restore();
});
it('should test function 0', function() {
// rely on call 0 and test;
});
it('should test function 0', function() {
// rely on call 1 and test;
});
});
如果我没有在after()钩子中编写sinon.restore(),它会执行,但是还有其他一些测试控制器在相同的服务上具有相似的存根,因此它们也会失败。
预先感谢...