У меня есть несколько асинхронных действий, которые мне нужно протестировать с помощью Jest. Мой тест в настоящее время проходит, когда он должен потерпеть неудачу.
describe('Asynchronous Code', () => {
it('should execute promise', () => {
console.log(1);
someFunctionThatReturnsAPromise()
.then(() => {
console.log(2);
expect(true).toBeFalsy();
console.log(3);
});
console.log(4);
});
});
Когда я запускаю npm test
, я получаю следующий вывод:
PASS __tests__/Async.test.js
● Console
console.log __tests__/Async.test.js:3
1
console.log static-content-test/react/actions/DashboardActions.test.js:6
2
console.log static-content-test/react/actions/DashboardActions.test.js:10
4
Как видите, тест проходит, но console.log(3)
никогда не выполняется, потому что true
не является ложным, и ожидание не выполняется.
Как я могу заставить Jest распознавать мои ожидания внутри асинхронных обратных вызовов?