[!NOTE] Historisches Werkzeug: Blanket.js war für leichtgewichtige In-Process-Coverage mit Mocha weit verbreitet. Für moderne Node.js- und TypeScript-Projekte empfehlen sich c8 (native V8-Coverage) oder NYC / Istanbul.
Blanket.js ist eine nahtlose JavaScript-Bibliothek zur Code-Coverage-Analyse für Testrunner wie Mocha.
Installation
npm install --save-dev blanket
Test-Helper einrichten
Laden Sie Blanket vor dem Einbinden der zu analysierenden Quelldateien:
// test/helper.js
if (process.env.COVERAGE) {
require('blanket')({
pattern: require('path').resolve('./src')
});
}
// Module erst nach Registrierung des Blanket-Hooks laden
const myModule = require('../src/index');
Package-Skripte
Coverage-Befehle zu package.json hinzufügen:
{
"scripts": {
"test": "mocha test/",
"coverage": "env COVERAGE=1 mocha -R html-cov > coverage.html && open coverage.html"
}
}
Generierten HTML-Bericht in .gitignore aufnehmen:
echo "coverage.html" >> .gitignore
Erzeugung des Coverage-Berichts starten:
npm run coverage
Continuous Integration & Coveralls
LCOV-Reporter und Coveralls-Adapter installieren:
npm install --save-dev mocha-lcov-reporter coveralls
Ausführungsschritt in CI-Pipelines ergänzen:
mocha -R mocha-lcov-reporter | ./node_modules/coveralls/bin/coveralls.js