なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

JavaScript のテストで Date を Mock したい

時間に関わるテストをしようと思うと、 Date をなんとかしないといけない。
ただ、 Jest でやろうとするといろいろ面倒だったので、サクッとする方法。

探してみるとそれっぽい事をしてくれる Node モジュールを見つけた。

mockdate

yarn add mockdate --dev したあと、下のように使える。

import MockDate from "mockdate";

describe("footest", () => {
  beforeEach(() => MockDate.set("2019-07-23 10:00:00");

  // your test here.

  afterEach(() => MockDate.reset());
});

TypeScript の型定義ファイルも最近追加してくれたようなので、別で @types もいらない。

ということで簡単なメモ記事でした。