Любые идеи по этому коду
jest.useFakeTimers()
it('simpleTimer', async () => {
async function simpleTimer(callback) {
await callback() // LINE-A without await here, test works as expected.
setTimeout(() => {
simpleTimer(callback)
}, 1000)
}
const callback = jest.fn()
await simpleTimer(callback)
jest.advanceTimersByTime(8000)
expect(callback).toHaveBeenCalledTimes(9)
}
"""
Не удалось
Expected mock function to have been called nine times, but it was called two times.
Однако, если я await
с LINE-A, тест пройдет.
Не работает ли обещание и таймер?
Я думаю, что причина может быть, шутка ждет второго обещания решить.