[!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