0%
Tests unitaires avec Vitest

Tests unitaires avec Vitest

Un test qu'on ne comprend pas en dix secondes sera supprimé plutôt que réparé

10-15 min

Tests unitaires avec Vitest

Vous reprenez un projet abandonné depuis huit mois. La suite de tests compte 340 fichiers, et 12 sont rouges. Vous ouvrez le premier : il s'appelle test 4, il construit un objet de 60 lignes dans un beforeEach partagé par 18 tests, et son assertion finale compare un objet complet à un littéral figé. Le message d'échec vous annonce une différence sur un champ updatedAt. Vous ne savez ni ce que ce test était censé garantir, ni si le produit est cassé. Vous le désactivez, et vous ne le rallumerez jamais.

Ce scénario n'a rien d'exceptionnel : c'est le mode de mort normal d'une suite de tests. Le coût réel d'un test ne se situe pas à l'écriture mais au moment où il échoue, six mois plus tard, devant quelqu'un qui n'était pas là. Un bon test se lit comme une phrase, échoue avec un message qui désigne la cause, et ne dépend d'aucun contexte partagé qu'il faudrait reconstituer mentalement. Vitest ne fera pas ce travail à votre place, mais il enlève assez de friction — démarrage instantané, mode veille ciblé, messages de différence lisibles — pour que vous n'ayez plus d'excuse.

Commentaires

Les commentaires sont alimentés par GitHub Discussions

Connectez-vous avec GitHub pour participer à la discussion

Lien copié !