Я использую Мокко и Чай для юнит-тестов. Мой тестовый пример выглядит следующим образом.
describe('1. Users APIs', () => {
it('1.1 Get Users', (done) => {
controller.getCaseDetails(req, res, () => { }).then(data => {
except(data).to.be.have.property(statusCode, 400);
done();
});
});
});
Если тестовый пример не пройден, я получаю ошибку ниже.
1) 1. Users APIs.
1.1 Get Users:
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/techjini/Techjini/node-projects/CollectionsApp-NodeJS/src/cases/test/getCases.test.js)
at listOnTimeout (internal/timers.js:549:17)
at processTimers (internal/timers.js:492:7)
Чтобы исправить это, я добавил .catch
к блоку и done()
внутри улова. Тогда тест прошел успешно. как исправить эту проблему.
В соответствии с моим возвратом я понял, что если я добавлю блок catch, тогда ошибка будет обработана, но mocha не получит никаких ошибок утверждения, если я не ошибаюсь.
Я хочу напечатать соответствующее сообщение об ошибке в случае сбоя except
.
Любая помощь будет принята с благодарностью.