ここまでのあらすじ

Jest で試験前に import "@testing-library/jest-dom/extend-expect"; とかそういう準備をするじゃないですか、そういうのをやるために準備用ファイルを読み込むため setupFilesAfterEnv オプション使ったらエラーになりました。

エラー

package.jsonsetupFilesAfterEnv オプション付けました。

{
  "jest": {
    "setupFilesAfterEnv": [
      "src/setupTests.ts"
    ]
  }

そしたらこんなエラーに。

● Validation Error:

  Module src/setupTests.ts in the setupFilesAfterEnv option was not found.
         <rootDir> is: /mnt/c/Users/ginpei/projects/my-project

  Configuration Documentation:
  https://jestjs.io/docs/configuration.html

解決策:<rootDir> を足す

ファイルパスの最初に <rootDir> を足します。

{
  "jest": {
    "setupFilesAfterEnv": [
      "<rootDir>/src/setupTests.ts"
    ]
  }

これで動くようになりました。

ドキュメント

を読んだらまさにそう書いてありました。(翻訳されてないや。)


If you want a path to be relative to the root directory of your project, please include <rootDir> inside a path’s string, like "<rootDir>/a-configs-folder".

もしパスをあなたのプロジェクトのルートディレクトリーに対し相対的なものにしたい場合、パス文字列の中に <rootDir> を含めてください。例:"<rootDir>/a-configs-folder"

おしまい

ドキュメント読もうね案件でした。

こういう、一度設定したらもう触らない系の話はすぐ忘れちゃう。

参考