Sinon CallFake возвращает тот же вывод в других файлах
У меня есть файл модуля с кодом ниже
всякий раз, когда обещание отклонено, process.exit вызывается с кодом 1
module.exports = myPromiseReturningFunc(args)
.then(el => {
return true;
})
.catch(err => {
console.error('Error ', err)
return process.exit(1);
})
// here is my index.test.js
const sinon = require('sinon');
describe('Index', () => {
let exitStub;
beforeEach(done => {
exitStub = sinon.stub(process, 'exit').callsFake(() => {
return 'error'
})
})
afterEach(done => {
process.exit.restore();
})
it('should exit with error', (done) => {
myModuleFunction(args).then(result => {
expect(result).to.be.eql('error'); // passed here
done();
})
})
})
// another test file
describe('Help Module', () => {
it('should return true', (done) => {
myModuleFunction({}).then(result => {
console.log(result); // prints error here again :-(
expect(result).to.be.true;
})
})
})
Я хотел бы заглушить process.exit один раз и потом, но он возвращает ту же ошибку в других файлах, хотя другая функция возвращает ответ об успешном завершении