Closed1

CRAとJestでつまづいたところ

chima91chima91

setupFilesAfterEnvはCreate React Appでは必要ない

https://jestjs.io/ja/docs/configuration#setupfilesafterenv-array

setupFilesAfterEnvは、各テストファイルが実行される前に、テストフレームワークを設定するためのコードを実行するモジュールへのパスのリストです。

と、Jestの公式ドキュメントに書いてあったので、package.jsonに書いてみた。

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

でも、npm testを実行したら怒られてしまった。

% npm test

> hogehoge@0.1.0 test
> react-scripts test

We detected setupFilesAfterEnv in your package.json.

Remove it from Jest configuration, and put the initialization code in src/setupTests.js.
This file will be loaded automatically.

訳:package.json で setupFilesAfterEnv が検出されました。
これをJestの設定から削除し、初期化コードをsrc/setupTests.jsに記述してください。
このファイルは自動的に読み込まれます。

Create React Appの公式ドキュメントを読んだらちゃんと書いてあった。

Note: Keep in mind that if you decide to "eject" before creating src/setupTests.js, the resulting package.json file won't contain any reference to it, so you should manually create the property setupFilesAfterEnv in the configuration for Jest, something like the following:

npm run ejectをしていなければsetupFilesAfterEnvの記述は不要っぽい。

https://create-react-app.dev/docs/running-tests#srcsetuptestsjs

setupFilesAfterEmvの記述を削除したら無事にテストが実行された。メデタシメデタシ...

このスクラップは2023/07/22にクローズされました