
Chargement
Code Coverage

What is going on ?
Pour tester / pour le TD :
•Projet ms-node-server
Les outils utilisés :
•Istanbul
La documentation utile / pour aller plus loin :
•Atlassian - Code Coverage
•Medium - Code Coverage avec Istanbul
Usecase
Au fait, pourquoi on garde les fichiers de la v1 alors qu'on en est à la v4 du projet ?
Le fichiercompute.jsest testé ?
Kevin, ptin, elle marche pas ta feature, il y a tout qui plante !
But du jeu
Toujours dans l'optique d'améliorer la communication dans l'équipe, le code coverage permet de suivre 2 composantes importantes en phase de développement :
•Le pourcentage de code exécutéafin d'éviter un maximum lecode mort.
•Le pourcentage de code couvert par les testset ainsi éviter des problèmes à mesure que le projet évolue.
En fin de compte, le Code Coverage permet de mieux connaître son code !
LeHow ToavecIstanbul
Pour commencer, nous allons utiliserIstanbul.
Commençons par l'installer en global :
$ npm install -g istanbulVous pouvez dès à présent utiliser istanbul avec un fichier de test, via la commande :
$ istanbul cover mon_fichier_de_testExample :
$ istanbul cover ./test.spec.js
=============================== Coverage summary ===============================
Statements : 75% ( 30/40 )
Branches : 0% ( 0/2 )
Functions : 0% ( 0/4 )
Lines : 5.56% ( 2/36 )
================================================================================Par défaut, Istanbul va créer un dossier./coverageavec le resultat de l'analyse.
A vous de jouer !
Ajoutez le code coverage au projet !
Spoiler : Vous allez devoir créer des tests :)
Plusieurs réflexion à avoir par rapport à l'intégration du code coverage dans notre process :
• Quelle est le minimum requis de couverture de code par les tests ?
- Critique,100 %!
- Normal,70 %!
- On s'en fiche ?< 50 %!
• Le code mort est-il problématique ?
- Oui, on prend en compte cette verticale
- Non, on croise les doigts pour les effets de bord
• Quels sont les fichiers / dossiers à cibler / éviter ?