У нас есть метод, который принимает в качестве аргументов потенциальную ошибку, вызвавшую более высокий уровень. Мы хотим проверить
handleFailure((msg, err) => {
if (err) throw err // preserve stack
console.error(msg);
process.exit(1);
})
Мы хотим проверить, в случае ошибки, что ошибка выбрасывается. Мы попробовали это:
it('should throw error', () => {
let error = new Error('someError');
expect(handleFailure('some message', error)).to.throw(error);
});
Ошибка выдается, я вижу это в консоли. Но он не «захвачен» модульным тестом:
1 failing
1) command processor
handleFailure method
should throw error:
Error: someError
at Context.it (tests/commandProcessor.spec.js:111:39)
Как мы можем проверить, что ошибка генерируется с помощью sinon и chai?