💬
[まとめ] Jest について
Jest とは
Jestは、Facebook社がOSSとして開発を進めている、JavaScriptのユニットテストのためのツール
Jest には
- テストランナー
- カバレッジ計測
- モック
- アサーション
など テストの実行を含めた 様々な機能がオールインワンで提供されているため
今後のプロジェクトの展開において、Jest だけでunitテストを作成することができる
vueファイルからなる components に対するテストだけでなく BFF側のテストも作成できる
Jest の設定について
- 実行環境設定
- どの環境で テストを動作させるか指定する
testEnvironment: 'jsdom', // 仮想ブラウザ環境で Node.js でテストを実行する
- vue と js のコンパイル設定
- ファイルの識別子によって行うコンパイル先を指定する
transform: {
'^.+\\.js$': 'babel-jest', // js 系は babel-jest で指定のECMAでコンパイル
'.*\\.(vue)$': 'vue-jest' // vue-jest でコンパイル
},
- カバレッジ設定
collectCoverage: true, // カバレッジ機能の有効化
collectCoverageFrom: ['app/components/**/*.vue', 'server/**/*.{js}'], // パターンマッチングで指定したファイルからカバレッジ計測
coverageDirectory: 'coverage', // カバレッジの計測結果を配置するディレクトリの指定
- レポート (テスト結果)設定
- CIで テスト結果を食わせて、落ちやすいテストなどを検出するための設定
reporters: [
'default',
[
'jest-junit',
{
suiteName: 'jest tests',
outputDirectory: 'reports/jest',
outputName: 'js-test-results.xml',
classNameTemplate: '{classname}-{title}',
titleTemplate: '{classname}-{title}',
ancestorSeparator: ' › '
}
]
]
Jest テスト カバレッジ の見方
- https://qiita.com/monisoi/items/44931e36c5f7b1f4e683 に詳しい
- https://qiita.com/s_karuta/items/c464f220a4b65f70f214 は指標の見方をざっと抑えられる
上記の2つのリンクを参照
Discussion