On m’avait appris en école d’ingénieur à faire des tests unitaires avec JUnit. Et oui, les tests sont bien pratique pour éviter les régressions fonctionnelles. Pourtant, ce n’est qu’avec Ruby on Rails que j’ai réellement commencé à en faire ! Pourquoi ?
L’utilisation des tests dans la communauté ruby est quelque chose de culturel. D’où vient cette sensibilité aux tests ? En grande partie, cela vient du monde de l’agilité.
– La grande partie des gems sont unit-testé. Les tests sont prèsent à tout les étages unitaires, fonctionnels, d’intégrations, de performance.
– Intégration continue : Travis, tddium
Tout d’abord, la gestion des tests est très bien pensée : par défaut Rails crée une base données dédiée aux tests et un système de fixtures (ou l’alternative Factory Girl) qui permet de mettre en place des données de tests avec une grande facilité.
Ensuite Ruby on Rails possède une structure dédié aux différents type de tests : unitaires, fonctionnels, d’intégrations, de performance.
Enfin, lorsque l’on ajoute un modèle ou un contrôleur, Rails nous génère automatiquement le squelette des tests unitaires, fonctionnels. Ruby on Rails ne nous oblige pas à coder des tests mais tout nous incite à en faire.
Je vous invite à lire les autres avantages de la série : les avantages de Ruby on Rails