Я пытаюсь понять, как работает асинхронное тестирование в Jest.
То, что я пытаюсь сделать, похоже на пример из документации Jest.Это работает нормально ..
function doAsync(c) {
c(true)
}
test('doAsync calls both callbacks', () => {
expect.assertions(2);
function callback1(data) {
expect(data).toBeTruthy();
}
function callback2(data) {
expect(data).toBeTruthy();
}
doAsync(callback1);
doAsync(callback2);
});
Но я хочу отложить вызовы обратного вызова, поэтому я попытался это сделать ....
function doAsync(c) {
setTimeout(() => {
console.log('timeout fired')
c(true)
}, 1000)
}
, но проверка завершается неудачно с сообщением Expected two assertions to be called but received zero assertion calls.
.
В журнале не отображается сообщение «Тайм-аут сработал».
Пожалуйста, кто-нибудь может объяснить, почему он не работает?