[!NOTE] Ferramenta Histórica: O Blanket.js foi amplamente usado para cobertura leve em processo no Mocha. Para projetos modernos em Node.js e TypeScript, recomenda-se c8 (cobertura nativa V8) ou NYC / Istanbul.
Blanket.js é uma biblioteca de cobertura de código JavaScript projetada para funcionar perfeitamente com executores de testes como o Mocha.
Instalação
npm install --save-dev blanket
Configuração do Auxiliar de Testes
Importe o Blanket antes de carregar os arquivos que deseja cobrir:
// test/helper.js
if (process.env.COVERAGE) {
require('blanket')({
pattern: require('path').resolve('./src')
});
}
// Importe módulos após o registro do hook do blanket
const myModule = require('../src/index');
Scripts do Pacote
Adicione comandos de cobertura no package.json:
{
"scripts": {
"test": "mocha test/",
"coverage": "env COVERAGE=1 mocha -R html-cov > coverage.html && open coverage.html"
}
}
Adicione o relatório HTML gerado ao seu .gitignore:
echo "coverage.html" >> .gitignore
Execute a geração do relatório de cobertura:
npm run coverage
Integração Contínua & Coveralls
Instale o reporter LCOV e o adaptador do Coveralls:
npm install --save-dev mocha-lcov-reporter coveralls
Adicione uma etapa de execução nos pipelines de CI:
mocha -R mocha-lcov-reporter | ./node_modules/coveralls/bin/coveralls.js