クイックリファレンス

Mocha Blanket コードカバレッジ チートシート

Blanket.js と Mocha を使った JavaScript テストのカバレッジ計測クイックリファレンス:導入、テストヘルパー設定、npm スクリプト、Coveralls 連携まで解説。

· 公開日

[!NOTE] レガシーツールに関する注記: Blanket.js は Mocha の軽量なインプロセス・コードカバレッジ計測に広く使われていました。現在の Node.js や TypeScript プロジェクトでは c8(V8 ネイティブカバレッジ)または NYC / Istanbul の利用を推奨します。

Blanket.js は、Mocha などのテストランナーとシームレスに連携できるよう設計された JavaScript コードカバレッジ計測ライブラリです。

インストール

npm install --save-dev blanket

テストヘルパーのセットアップ

カバレッジ計測対象のファイルを require する前に Blanket を読み込みます:

// test/helper.js
if (process.env.COVERAGE) {
  require('blanket')({
    pattern: require('path').resolve('./src')
  });
}

// blanket のフック登録後にモジュールを読み込む
const myModule = require('../src/index');

package.json スクリプト

package.json にカバレッジコマンドを追加します:

{
  "scripts": {
    "test": "mocha test/",
    "coverage": "env COVERAGE=1 mocha -R html-cov > coverage.html && open coverage.html"
  }
}

生成された HTML レポートを .gitignore に追記します:

echo "coverage.html" >> .gitignore

カバレッジレポート生成を実行します:

npm run coverage

継続的インテグレーション & Coveralls

LCOV レポーターと Coveralls アダプターをインストールします:

npm install --save-dev mocha-lcov-reporter coveralls

CI パイプラインに実行ステップを追加します:

mocha -R mocha-lcov-reporter | ./node_modules/coveralls/bin/coveralls.js

参考リンク

関連テーマ