Jestの設定(jest.config.jsやpackage.jsonでの設定)について
以下のように設定した(一部デフォルト値と同じものがあるが、明示的に分かるようにする意味でもあえて書くようにした)。
module.exports = {
bail: 1,
testEnvironment: 'node',
testMatch: [
'**/__tests__/**/*.js'
// "**/?(*.)+(spec|test).[tj]s?(x)"
],
testPathIgnorePatterns: ['/node_modules/', '/src/'],
transform: { '\\.jsx?$': 'babel-jest' },
verbose: true
};
詳細を見ていくと・・・
-
bail
何回テストが失敗した場合にテストを中止させるか?を設定するためのオプション。今回は「1」としたので1つテストが失敗するとそこでテストは終了になる。 -
testEnvironment
jestのテスト実行環境を設定するためのオプション。デフォルトはNode.jsの環境になるが、フロントエンドのテストをする場合はjsdom
を通してブラウザのような環境でテスト実行する事もできる。 -
testMatch
どのファイルがテストが書かれたファイルか?を設定するためのオプション。正規表現で書く。 -
testPathIgnorePatterns
テスト対象外となるパスのパターンを設定するためのオプション。今回はnode_modules
やsrc
以下はテストファイルがあるか?を探しに行く必要のないフォルダなので除外している。 -
transform
ソースコードを何で変換するか?を設定するためのオプション(ES6以降のコードを書く場合はES5への変換・トランスパイルが必須だが、それを何でするのか?を設定する)。
今回はデフォルトのbabel-jestにしている(babel-jestは同じプロジェクト内にあるbabelの設定を読み取って動くライブラリ)。 -
verbose
テスト実行時のエラーを都度表示するか?を設定するためのオプション。
デフォルトではfalseになっており、テスト実行後の最後にまとめてエラーが表示されるが、それだとエラーが見にくいので今回はtrueにし都度とした。