https://zenn.dev/nus3/articles/jest-react-testing-library
最近、Zenn に全然(?)記事書けてないなぁっていうのと、フロントエンドのテスト大事やなぁと感じることが多かったので、React + Testing Library + Jest の覚書を雑に書くことにした
(特定の用途で覚書まとめたら、この内容だったら Zenn にも出せるやんか、とかそんなことがあったわけでは断じてない)
src/setupTests.js
に追加する
jest.setup.js
みたいなセットアップファイルを作成し、jest.config.js
などの config ファイルのsetupFilesAfterEnv
にセットアップファイルを指定するこの transform を利用して実装されている JSX や TypeScript をトランスパイルしている
Jest の transformer には ts-jest や babel-jest、@swc/jest、esbuild-jest などがある
Jest の test
には便利なメソッドがある
test.each([
{ title: "nus3", value: "3" },
{ title: "nus4", value: "4" },
{ title: "nus5", value: "5" },
])(
"$title の場合", // ${name}でtest.eachで渡したオブジェクトのプロパティの値をここでも使える
({ test, value }) => {
// test.eachオブジェクトの配列分ののテストが実行できる
}
);
Testing Library は実際に対象のコンポーンエントをユーザーが操作してるようなテストを書くためのテストユーティリティ