Я пытаюсь получить простой асинхронный / ожидающий тест, работающий с setTimeout, но ничего не происходит, когда я его запускаю:
const testing = async () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('result');
}, 500);
});
}
jest.useFakeTimers()
it('tests async await', async () => {
const r = await testing();
expect(r).toBe('result');
jest.runAllTimers();
});
Хорошо бы использовать реальный setTimeout, как в Jasmine, но в Jest кажется, что вы должны использовать фальшивые. Поэтому я включил jest.useFakeTimers()
и jest.runAllTimers()
, но это не помогло.
Тест застревает и никогда не завершается. Есть идеи, в чем может быть проблема?