Chapitre Les tests unitaires avec JUnit
Comment écrire un bon test unitaire
Cette leçon aborde la problématique de comment écrire un bon test unitaire.
Dernière modification : Dec 08 , 2024
Comment écrire un bon test unitaire ?
L'approche "pragmatique"
Qu'est qu'un bon test ?
Les tests mesurent la qualité finale de l'application, pas les états successifs du développementLes tests doivent rendrent la vie des futures mainteneurs de l'application plus simple. C'est encore plus important que pour les développeurs actuels.
Ecrire un meilleur code est plus important qu'une couverture de code exhaustive pour satisfaire la TDD.

Tous les tests ne sont pas égaux
Qu'est qu'un bon test unitaire ?
- Vérifie une petite portion du code ou vérifie un comportement bien déterminé et un résultat simple
- S'exécute rapidement
- S'exécute de manière isolée du reste du système
- Résiste bien aux régressions
- Résiste bien au refactoring
- Fournit un retour efficace sur ce qui fonctionne / fonctionne pas
- Est facilement maintenable
Les mauvaises pratiques
- Tester les méthodes privées
- Exposer des méthodes pour pouvoir les tester
- Tester du code trivial (getter, setter)
- Ajouter du code métier dans les tests plutot que dans le domaine
- Créer des mocks sur des classes concrètes (JMockito)
- Tester avec des valeurs aléatoires (en général)
- Ne pas avoir d'assertions
- Ne pas documenter les assertions
- Avoir des tests fragiles très dépendant du SUT