Génie Logiciel Orienté Objets
3eannée de Licence
TP JUnit
Tests unitaires
L’objectifs des tests unitaires est d’assurer un comportement correct sur une partie du code ainsi que son main-
tient. Les tests se présentes sous la forme d’un ensembles d’assertions à vérifier sur chaque unité (fonction/méthode)
du programme.
Cycle de développement en utilisant des tests unitaires :
1. Ajout d’un test
2. Écriture d’une première version de la fonction qui fait échouer le test
3. Exécution du test
4. Écriture d’une version brouillon de la fonction qui passe le test
5. Exécution du test
6. Raffinement du code de la fonction
7. Exécution du test
JUnit
JUnit est une bibliothèque Java permettant de réaliser et d’exécuter facilement des tests unitaires sur un pro-
gramme Java. Une classe de test par classe dans le programme est utilisée. Une ou plusieurs méthodes de tests
par méthodes dans la classe doivent être écrites. L’utilisation de la version 3.8 est décrite ici. La version 4 peut
également être utilisée mais nécessite de savoir utiliser les annotations Java.
Les classes de JUnit se trouvent dans le package junit.framework. Chaque classe de test doit étendre la classe
TestCase, les méthodes de tests ne prennent aucun argument et ne retournent aucun résultat. Par convention, on
appelle ExempleTest la classe de test d’une classe Exemple et testExemple la méthode de test d’une méthode
exemple.
Chaque méthode de test se compose d’une ou plusieurs assertions écrites sous la forme :
–void assertEquals(Object expected, Object actual)
–void assertEquals(String message, Object expected, Object actual)
–void assertEquals(long expected, long actual)
–void assertEquals(String message, long expected, long actual)
–void assertEquals(double expected, double actual, double delta)
–void assertEquals(String message, double expected, double actual, double delta)
–void assertTrue(boolean condition)
–void assertTrue(String message, boolean condition)
–void assertFalse(boolean condition)
–void assertFalse(String message, boolean condition)
–void assertNull(Object object)
–void assertNull(String message, Object object)
–void assertNotNull(Object object)
–void assertNotNull(String message, Object object)
–void assertSame(Object expected, Object actual)
–void assertSame(String message, Object expected, Object actual)
–void assertNotSame(Object unexpected, Object actual)
–void assertNotSame(String message, Object unexpected, Object actual)