経験は何よりも饒舌

10年後に真価を発揮するかもしれないブログ 

create-react-appからJestの実行場所を探す

create-react-appで作成されたプロジェクトにおいてTesting LibraryとJestの関係性を整理しようとした時、Testing LibraryはJest, AVA, Chai...の並びでテストランナーなのではないかという誤解が生じた。そしてtesting-library/jest-domはテストランナーとしてのTesting LibraryをJestに移行するためのツールとして理解しようとした。
誤解が生じた1番の原因は、package.jsondependenciesscriptsjestが見当たらなかったからだと思う。
けど、Testing LibraryはLibraryといってるくらいだから、さすがにテストランナーではないよな...って感じでもう少し調べてみることにした。

create-react-app が裏で何をやっているか理解する - Qiita
これでほぼ解決した。
npm run ejectするとdependenciesjestがある!

だけどまだnpm run testreact-scripts testが実行されているのでJestの姿がはっきりと見えない。
というわけでcreate-react-app/packages/react-scriptsを眺める。
/bin/react-scripts.js#27package.jsonscriptsの一覧がある。
/scripts/test.js#L129jest.run(argv);でJestが走る。

というわけでTesting LibraryはEnzymeと同じ並びでDOM構造をテストするためのライブラリで、jest-domはTesting LibraryをJestで使用する際に必要なMatcherを提供している。