Jest等で日付関連のテストコードを実行するにあたっての注意

注意点としては、実行時のタイムゾーンを明示することです。

テスト(jest等)を実行する npm-scriptsTZ=XXXX ※1 をコマンドの先頭に記述する。

例えば、次のような感じ。

package.json
{
  "scripts": {
    "test": "TZ=UTC turbo run test"
  }
}

npm-scripts に書かない場合は、コマンド実行する際に先頭に記述すれば良いです。

または、GitHub Actionsでテストを実行する際に env に設定します。

env:
  TZ: 'UTC'
  # 日本時間としたい場合は次のものを指定
  # TZ: 'Asia/Tokyo'

両方指定しておくのが安心ですね。

※1: タイムゾーンは https://en.wikipedia.org/wiki/List_of_tz_database_time_zones を参照してください。