#reactjs #typescript #unit-testing #jestjs
Вопрос:
Я пытаюсь установить системное время для всех моих модульных тестов jest. Jest v26.
Я создал установочный файл:
jest.config.js
module.exports = {
...jestBase,
timers: "modern",
setupFiles: ["<rootDir>/config/jest/setSystemTime.ts"],
setupFilesAfterEnv: ["<rootDir>/config/jest/timeout.ts", "<rootDir>/jest.setup.tsx"]
};
SetSystemTime.ts
// Set system time to avoid flaky unit tests
jest.useFakeTimers("modern");
jest.setSystemTime(new Date('2021-01-01T09:00:00.000Z'));
Однако, когда я вызываю new Date() в своем модульном тесте, он не сообщает мне дату, которую я настроил:
describe("date", () => {
it("configured date", () => {
console.log(" new Date ", new Date()); // gives me todays date 2021-10-14 not the configured date
});
});
Комментарии:
1. Не могу его воспроизвести. Это работает на меня