jest.useFakeTimers() заменяет setTimeout/setInterval/Date на подконтрольные аналоги. jest.runAllTimers() — синхронно выполняет все pending таймеры. jest.advanceTimersByTime(3000) — сдвигает время на 3 секунды. jest.runOnlyPendingTimers() — только текущие (не рекурсивные). Полезно для тестирования debounce, throttle, retry логики, TTL кэша. afterEach: jest.useRealTimers() восстанавливает. Для современного кода: jest.useFakeTimers({ now: new Date("2024-01-01") }) — фиксирует Date.now().
Как мокировать таймеры в Jest?
Middle
266 просмотровAFK Offer AI
Как использовать jest.each для параметризованных тестов?