Date.now()を使っている箇所でJestのスナップショットテストを実施した場合、日付が毎回変わってしまうためエラーになってしまう
そのため、Date.now()をモック化してあげる必要がある
そこでJestのMock Functionsを利用する
具体的には以下のようにしてDate.now()が必ず同じ値を返すようにモック化する
Date.now = jest.fn(() => 1482363367071);
全てのテストの前にモックかしたい場合はbeforeAll
で実行する
beforeAll(() => { global.Date.now = jest.fn(() => 1595980800000); });
Date自体をモック化しようとしたがそれはうまくいかなかった Mocking current time for Date · Issue #2234 · facebook/jest · GitHub