Jest SetSystemTime не применяется к тестам при установке в файлах настроек

#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. Не могу его воспроизвести. Это работает на меня