Chargement

DevOps 101

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 istanbul

Vous pouvez dès à présent utiliser istanbul avec un fichier de test, via la commande :

$ istanbul cover mon_fichier_de_test

Example :

$ 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 ?