ESLint+JestでJavaScriptのコードをテストするための解決策
最近作成しているプロジェクトにJestを導入したのはいいが、ESLintを導入していたためにJestが使用できなくなって困ったので解決策の備忘録。 いつもよりは内容短いです。サンプルコードは入れていません。
今回の対象読者
作成中のコードにESLintとJestを導入したい人
※どちらがどういったツールかの説明は今回はしません。Jestの基本については後日・・・
今回使用した動作環境
Windows10 Home Version1903の
Ubuntu 18.04 LTS(WSL1)
解決手順
1.必要なパッケージのインストール
ESLintとJestを次のコマンドでローカルインストールします。
npm install eslint --save-dev # もしくは yarn add eslint --dev
npm install --save-dev jest # もしくは yarn add --dev jest
このままではテスト用コマンドにエラーが出てしまうのでeslint-plugin-jestというESLintのプラグインをインストールする
npm install --save-dev eslint-plugin-jest # もしくは yarn add --dev eslint-plugin-jest
2.設定ファイルを作成する
今回は以下のディレクトリ構成例で進めていきます。
・ ├── node_modules ├── package.json ├── package-lock.json* ├── tests | ├── .eslintrc.json | └── index.test.js | └── .eslintrc.json └── index.js *yarnコマンドで進める際はyarn.lock
※ESLintの設定ファイルとなる.eslintrc.json
ファイルについてはjson形式以外の形式にしても構いません。今回はjson形式で進めていきます。
インストールを終えた後はtests
フォルダにディレクトリ直下の方とは別に.eslintrc.json
を設置し、eslint-plugin-jestプラグインを反映させるために次の形で設定を記載します。
// tests/.eslintrc.json { "plugins": ["jest"], "extends": "plugin:jest/recommended" }
一方ルートディレクトリ直下の.eslintrc.json
はテストコード以外の設定を記載した状態で使用する。
そうすると上記の構成例にあるindex.test.js
のようにJestで作成する際にtest
関数などにエラーが出ずテスト実行する事ができるようになる。
参考サイト
以下のサイトの項目「ESLintの対応」を参照した。 qiita.com