Outils pour utilisateurs

Outils du site


bloc3:junit

Ceci est une ancienne révision du document !


JUnit

JUnit est un framework de tests unitaires dédié à Java. La présente fiche vaut pour JUnit 4 dans l'environnement NetBeans.

Création d'une classe de tests

Sélectionner la classe à tester puis, dans le menu Tools choisir Create / Update Tests Dans la boite de dialogue qui s'ouvre, choisir impérativement JUnit4 et valider.

Il est aussi possible de créer une Suite de tests qui fabriquera la classe de test de chaque classe existante dans un package. Une suite de test permettra alors de lancer l'ensemble des tests en une seule demande.

Création d'une méthode test

Une méthode de test est faite pour tester une méthode de la classe testée. On aura donc un lien direct entre la méthode testée et sa méthode de test. Pour concrétiser cette réalité, une convention consiste à appliquer le même nom aux deux méthodes puis à préfixer ou postfixer celui de la méthode de test par le phonème “test”.

On pourra aussi avoir plusieurs méthodes de test pour une seule méthode à tester. Dans ce cas, on enrichira le nom de chaque méthode de test avec un descriptif aussi clair et concis que possible.

Une méthode de test est une procédure (type retour : void) qui n'accepte aucun paramètre.

Assertions

Les assertions sont l'outil qui permet de raisonner sous la forme de “Cas de test”. La formulation d'un cas se faisant comme suit : une situation en entrée doit produire une situation en sortie. Les assertions permettent de vérifier chaque cas en s'appuyant sur la situation en entrée et en comparant la situation effective en sortie avec celle attendue.

Assertion Descriptif
assertTrue et assertFalse Vérifient qu'une donnée résultat est bien, respectivement, Vraie ou Fausse
assertNull Vérifie qu'une donnée résultat est Null
assertEquals et assertSame Vérifient qu'une donnée résultat est bien égale à une donnée attendue. La seconde est plutôt à usage des tableaux et objets.
assertThrows Vérifie qu'une exception est bien produite.
fail Fait échouer le test sans condition. Utilisé notamment comme indicateur qu'un test n'est pas encore totalement implémenté.

Activation / Désactivation d'une méthode de test

Pour activer une méthode de test, il faut la faire précéder par l'annotation @Test.
Pour désactiver une méthode de test, il faut la faire précéder par l'annotation @Ignore.
L'absence d'annotation @Test produit le même effet que @Ignore mais n'est pas conseillé car non-explicite.

Traitements pré-test et post-test

Dans certains cas, il sera nécessaire de réaliser des traitements avant ou après chaque test.
Les méthodes setUp et tearDown associées respectivement aux annotations @Before et @After peuvent être utilisées pour réaliser un traitement qui s'exécute avant ou après chaque test.

Dans le même esprit, les méthodes setUpClass et tearDownClass associées respectivement aux annotations @BeforeClass et @AfterClass peuvent être utilisées dans le but d'exécuter un traitement avant ou après les tests mais, dans ce cas, une seule fois pour toute la batterie des tests.

Exécution d'une classe de tests

L'exécution d'une classe de test se fait en cliquant-droit sur cette classe (ou la classe testée) et en choisissant Test File.

Les résultats sont présentés en fin d'exécution dans l'onglet Tests results.

bloc3/junit.1680597897.txt.gz · Dernière modification : 2023/04/04 10:44 de admin