[!NOTE] Historische Tool: Blanket.js werd veel gebruikt voor lichte in-process Mocha-codecoverage. Voor moderne Node.js- en TypeScript-codebases worden c8 (native V8-coverage) of NYC / Istanbul aanbevolen.
Blanket.js is een naadloze JavaScript-bibliotheek voor codecoverage, ontworpen voor testrunners zoals Mocha.
Installatie
npm install --save-dev blanket
Testhelper Instellen
Laad Blanket voordat je de bestanden laadt waarvan je de dekking wilt meten:
// test/helper.js
if (process.env.COVERAGE) {
require('blanket')({
pattern: require('path').resolve('./src')
});
}
// Laad modules nadat de blanket-hook is geregistreerd
const myModule = require('../src/index');
Package-scripts
Voeg coverage-commando’s toe aan package.json:
{
"scripts": {
"test": "mocha test/",
"coverage": "env COVERAGE=1 mocha -R html-cov > coverage.html && open coverage.html"
}
}
Voeg het gegenereerde HTML-rapport toe aan .gitignore:
echo "coverage.html" >> .gitignore
Voer het genereren van het coverage-rapport uit:
npm run coverage
Continuous Integration & Coveralls
Installeer de LCOV-reporter en Coveralls-adapter:
npm install --save-dev mocha-lcov-reporter coveralls
Voeg een uitvoeringsstap toe in CI-pipelines:
mocha -R mocha-lcov-reporter | ./node_modules/coveralls/bin/coveralls.js