[!NOTE] Narzędzie historyczne: Blanket.js było szeroko stosowane do lekkiego pomiaru pokrycia kodu w Mocha w ramach tego samego procesu. W nowoczesnych projektach Node.js i TypeScript zaleca się c8 (natywne pokrycie V8) lub NYC / Istanbul.
Blanket.js to biblioteka pokrycia kodu JavaScript zaprojektowana z myślą o runnerach testów takich jak Mocha.
Instalacja
npm install --save-dev blanket
Konfiguracja pomocnika testów
Załaduj Blanket przed zaimportowaniem plików, które chcesz objąć pomiarem:
// test/helper.js
if (process.env.COVERAGE) {
require('blanket')({
pattern: require('path').resolve('./src')
});
}
// Importuj moduły po zarejestrowaniu hooka blanket
const myModule = require('../src/index');
Skrypty pakietu
Dodaj polecenia pokrycia do package.json:
{
"scripts": {
"test": "mocha test/",
"coverage": "env COVERAGE=1 mocha -R html-cov > coverage.html && open coverage.html"
}
}
Dodaj wygenerowany raport HTML do .gitignore:
echo "coverage.html" >> .gitignore
Uruchom generowanie raportu pokrycia:
npm run coverage
Ciągła integracja (CI) i Coveralls
Zainstaluj reporter LCOV oraz adapter Coveralls:
npm install --save-dev mocha-lcov-reporter coveralls
Dodaj krok wykonywania w potokach CI:
mocha -R mocha-lcov-reporter | ./node_modules/coveralls/bin/coveralls.js