タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

jestに関するKiskeのブックマーク (1)

  • JestでDateのコンストラクタをモックする

    下記の関数があるとしましょう。 1 2 3 function calcDuration(date: string) { return Math.abs(new Date().getFullYear() - new Date(date).getFullYear()); } この関数のテストを書くのに、注意しなければいけないことが1点あります。もう気づいたと思いますが、new Date()の結果を固定値にしないと、テストの結果が実行時の日付に依存してしまいますので、環境依存が発生し許容できないでしょう。Jestにはモジュールモックを含め、いくつのやり方がありますが、標準ビルトインオブジェクトかつコンストラクタの場合、どうモックするか、ドキュメントには詳しく書かれませんでした。ウェブで検索してみた結果、jest.spyOn(global, 'Date')という感じで書くのは一番直感的で柔軟性が高

  • 1