Projet numérologie : partie 5 / tests unitaires

Nous allons ajouter des tests unitaires à notre projet.

Motivation

Un projet sans test est un projet qui ne fonctionne pas.

Lorsque l'on écrit un programme, on a l'habitude de vérifier qu'il fonctionne et lorsque l'on fait du web, on lance un navigateur pour vérifier visuellement que c'est ok. Voir, on vous l'a certainement répété, on met des commentaires pour expliquer le code.

Cette pratique est inefficace, voir dangereuse. Et ce pour plusieurs raisons :

La règle d'airain en développement et dans la vie est que l'on ne va pas faire ce qui long et chiant. On ne peut donc maintenir ces pratiques, puisque tôt ou tard on va l'abandonner et ne plus trop tester notre code.

En revanche, on trouvera facilement des excuses pour expliquer pourquoi on ne teste pas :

On doit donc :

Enfin, une fois qu'on a mis tout ça en place nos test doivent suivre la règle FIRST pour être maintenable et aider au code :

Test unitaires

Il existe plusieurs types de tests, chacun répondant à une problématique donnée. Les tests unitaires sont des tests qui vérifient (en isolation) le bon fonctionnement d'une méthode, d'un algorithme. Ils sont écrits par le développeur de la méthode lui-même leur but initial est de vérifier que la méthode donne bien ce qu'il faut, et il faut faire autant de test que nécessaire pour se persuader que la fonction méthode

Que tester

Il n'y a pas de bonne réponse à : quoi tester ? Et quand s'arrêter ? Il faut faire juste assez de test pour se persuader que ce qu'on a écrit est correct

Quand tester

Juste Après avoir écrit sa fonction/méthode ! Voir même on l'écrit juste avant de coder si on suit le TDD (ce qui est bien et vous fera énormément progresser !)

Si on attend trop longtemps :

Plan

Nous allons voir plusieurs aspects des tests :

  1. tests js avec jest
  2. routes
  3. test de bases de données