Тестування · Senior · Запитання 33 з 75

Чому з vi.useFakeTimers() може зависнути тест, що чекає на проміс із setTimeout всередині?

vi.useFakeTimers();
await sleep(1000); // всередині: new Promise(r => setTimeout(r, 1000))

Пояснення

Запустіть проміс, потім await vi.advanceTimersByTimeAsync(1000), потім дочекайтеся промісу - async-варіанти ще й проганяють мікрозадачі.

Де почитати

Помилка в запитанні

Тестування · Senior · запитання 33

Перевірте себе

Пройдіть тест Тестування · Senior: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест