🔖
jestでnew Date()をmockする
jestを使うときにnew Date()などのタイマーをモックしたい
jest.useFakeTimers
useFakeTiemers
を呼び出すと、setTimeout
やその他タイマー関連の関数をモックすることができる
元に戻すときはuseRealTimers
を呼び出す
describe("new Date", () => {
beforeAll(() => {
jest.useFakeTimers().setSystemTime(new Date("2023-05-01"));
});
it("returns Date('2023-05-01')", () => {
const actual = new Date();
const expected = new Date("2023-05-01");
expect(actual).toEqual(expected);
});
});
Discussion