Maintenant ( 2021 ) la manière préférée d'utiliser istanbul se fait par l'intermédiaire de son "interface de ligne de commande de pointe" nycole .
Configuration
Tout d'abord, installez-le dans votre projet avec
npm i nyc --save-dev
Ensuite, si vous avez un projet basé sur npm, il suffit de modifier le test script à l'intérieur de la balise scripts
l'objet de votre paquet.json pour exécuter la couverture de code de votre moka tests :
{
"scripts": {
"test": "nyc --reporter=text mocha"
}
}
Exécuter
Maintenant, exécutez vos tests
npm test
et vous verrez un tableau comme celui-ci dans votre console, juste après la sortie de vos tests :
Personnalisation
Rapport Html
Il suffit d'utiliser
nyc --reporter=html
au lieu de text
. Maintenant, il produira un rapport dans ./coverage/index.html
.
Formats des rapports
Istanbul prend en charge un large éventail de formats de rapports. Il suffit de regarder ses bibliothèque des rapports pour trouver le plus utile pour vous. Il suffit d'ajouter un --reporter=REPORTER_NAME
pour chaque format que vous souhaitez. Par exemple, avec
nyc --reporter=html --reporter=text
vous aurez à la fois la console et le rapport html.
Ne pas exécuter la couverture avec npm test
Il suffit d'ajouter un autre script dans votre package.json
et laisser le test
script avec seulement votre exécuteur de test (par exemple mocha) :
{
"scripts": {
"test": "mocha",
"test-with-coverage": "nyc --reporter=text mocha"
}
}
Maintenant, exécutez ce script personnalisé.
npm run test-with-coverage
pour exécuter des tests avec couverture de code.
Forcer l'échec du test si la couverture du code est faible
Échec si la couverture totale du code est inférieure à 90% :
nyc --check-coverage --lines 90
Échec si la couverture de code d'au moins un fichier est inférieure à 90% :
nyc --check-coverage --lines 90 --per-file