カバレッジツールnyc+mochaモジュールの使い方
カバレッジツールでnycと言うモジュールがあります。
npm install --save-dev nyc mocha
でモジュールをインストールします。
npx nyc mocha --recursive --timeout 10000
でテストした結果のカバレッジレポートを出力します。(.nycrc.jsonがあれば)
package.jsonのscripts
npmスクリプトでnyc+mochaを実行する場合はnpx nyc mocha --recursive
でOKです。
–recursiveオプションを付けることによって、テストコードのディレクトリを再帰的に検索してレポート出力してくれます。
git-bashなら&&はいらないかもしれませんが、コマンドプロンプトなら必要なので&&をつけて出力されました。
なぜnpm test(npm run test)を付けるかと言うと、このテスト結果に対してカバレッジレポートが出力されるためです。
特定のファイルとディレクトリを除外する
カバレッジレポートが全て必要なわけではなく、srcフォルダ以下の拡張子がjsファイルのみ、等と言う時は、特定のファイルとディレクトリを除外することができます。
package.jsonに以下のように記述します。記述方法はglobに対応しています。
{ "nyc": { "exclude": [ "**/*.spec.js", "!**/*.test.js" ] } }
先頭に!マークをつけると除外しないと言う意味になります。
.nycrc.json
.nycrc.jsonというファイルを作成してそのJSONファイルに上記JSONを記述しても良いです。
.nycrc.jsonのサンプルです。これでreportというフォルダ配下にカバレッジレポートをhtml形式で出力してくれます。
{ "nyc": { "all": true, "check-coverage": true, "include": [ ], "exclude":[ ] }, "reporter": "html", "report-dir": "report", "temp-dir": ".nyc_output", "sourceMap": true }
es module対応していないようなので、ecmascriptでコードを書いている場合は、c8モジュールを使った方がよさそうです。
参考サイト
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント