🔥

React-testing-library/Jestのテストの実装方法 やる理由も添えて

2023/04/19に公開1

React-testing-library/Jestのテストについて

Reactアプリケーションの品質を確保するために、テストは非常に重要です。
しかし、プロジェクトの規模や状況によって、すぐにテストを実装する必要はない場合もあります。
ただし、テストの導入を検討し、可能であれば実装することをお勧めします。

eact-testing-library/Jestのテストの実装方法:

まずジェクトに必要なパッケージをインストールします。ターミナルで次のコマンドを実行してください。
npm install --save-dev jest @testing-library/react @testing-library/jest-dom @types/jest

次に、プロジェクトのルートディレクトリにjest.config.jsファイルを作成し、以下の内容を追加してください。
module.exports = {
testEnvironment: "jsdom",
testPathIgnorePatterns: ["/node_modules/", "/.next/"],
transform: {
"^.+\.(js|jsx|ts|tsx)$": "<rootDir>/node_modules/babel-jest",
},
moduleNameMapper: {
"\.(css|less|scss|sass)$": "identity-obj-proxy",
},
setupFilesAfterEnv: ["<rootDir>/jest.setup.ts"],
};

また、プロジェクトのルートディレクトリにjest.setup.tsファイルを作成し、以下の内容を追加します。

import "@testing-library/jest-dom/extend-expect";
これで、React Testing LibraryとJestの設定が完了しました。テストファイルは、通常、対象となるコンポーネントと同じディレクトリに配置し、.test.tsxという拡張子を付けます。たとえば、components/Header.tsxのテストファイルは、components/Header.test.tsxになります。

テストはどうゆうタイミングでやればいいの?

テストは通常、開発の進行と並行して行われます。以下はテストのタイミングと方法に関する一般的なガイドラインです。

コンポーネントごとにテストを行う: 各コンポーネントは独立して機能するため、コンポーネントごとにテストを作成していくことが推奨されます。

テストするタイミング: コンポーネントが開発され、基本的な機能が実装されたら、テストを書き始めることが良いでしょう。開発中にテストを行うことで、バグを早期に発見し、修正が容易になります。

Header.test.tsxなどは後から消す? 通常、テストファイルはプロジェクトに残しておくことが推奨されます。テストファイルは、コードの変更やリファクタリングが行われた際に、機能が正常に動作していることを保証するために役立ちます。

jest.config.jsなどはpackage.jsonと同じ階層でいいの? はい、jest.config.jsはプロジェクトのルートディレクトリ(package.jsonと同じ階層)に配置するのが一般的です。これにより、プロジェクト全体のJest設定を一元管理することができます

Discussion

泡沫京水泡沫京水

失礼します。
コード部分がべた書きになっているので、
できればシングルクォーテーション3つでコード部分で囲んでいただけると助かります!