create-react-appからJestの実行場所を探す
create-react-appで作成されたプロジェクトにおいてTesting LibraryとJestの関係性を整理しようとした時、Testing LibraryはJest, AVA, Chai...の並びでテストランナーなのではないかという誤解が生じた。そしてtesting-library/jest-domはテストランナーとしてのTesting LibraryをJestに移行するためのツールとして理解しようとした。
誤解が生じた1番の原因は、package.json
のdependencies
やscripts
にjest
が見当たらなかったからだと思う。
けど、Testing LibraryはLibraryといってるくらいだから、さすがにテストランナーではないよな...って感じでもう少し調べてみることにした。
create-react-app が裏で何をやっているか理解する - Qiita
これでほぼ解決した。
npm run eject
するとdependencies
にjest
がある!
だけどまだnpm run test
でreact-scripts test
が実行されているのでJestの姿がはっきりと見えない。
というわけでcreate-react-app/packages/react-scriptsを眺める。
/bin/react-scripts.js#27にpackage.json
のscripts
の一覧がある。
/scripts/test.js#L129 のjest.run(argv);
でJestが走る。
というわけでTesting LibraryはEnzymeと同じ並びでDOM構造をテストするためのライブラリで、jest-domはTesting LibraryをJestで使用する際に必要なMatcherを提供している。