【Jest】現在時刻をモックする

Jestが提供する偽のタイマーを利用することで、現在時刻をモックします。

手順

ファイルを作成し、以下のように編集する。

import { getNowDate } from '../service/dateService';

describe('getNowDate: 現在時刻を文字列として取得する', () => {
    beforeEach(() => {
        jest.useFakeTimers();
    });

    afterEach(() => {
        jest.useRealTimers();
    });

    test("実行すると、'20230101000000'を返す", () => {
        const mockDate = new Date('2023-01-01T00:00:00');
        jest.setSystemTime(mockDate);
        expect(getNowDate()).toBe('20230101000000');
    });
});

参考

タイトルとURLをコピーしました