Date мок: jest.useFakeTimers({ now: new Date("2024-01-01T00:00:00Z") }) — фиксирует Date.now(). jest.setSystemTime(new Date("2024-06-15")). Для отдельного теста: const mockDate = new Date("2024-01-01"); jest.spyOn(global, "Date").mockImplementation(() => mockDate). Math.random: jest.spyOn(Math, "random").mockReturnValue(0.5). Важно для: тестирования TTL логики, генерации токенов, временных отметок. После теста: jest.useRealTimers(), mockRestore(). Детерминированные тесты не зависят от реального времени.
Как мокировать Date и Math.random в Jest тестах?
Middle
261 просмотровAFK Offer AI
Реализуй middleware добавляющий уникальный request ID и пробрасывающий через AsyncLocalStorage