Outils pour utilisateurs

Outils du site


bloc3:junit

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
bloc3:junit [2023/04/04 10:44] – [Assertions] adminbloc3:junit [2023/12/15 09:51] (Version actuelle) – [Création d'une méthode test] admin
Ligne 1: Ligne 1:
 ====== JUnit ====== ====== JUnit ======
 JUnit est un framework de tests unitaires dédié à Java. La présente fiche vaut pour **JUnit 4** dans l'environnement **NetBeans**.  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 ===== + ===== Création d'une classe de tests ===== 
-Sélectionner la classe à tester puis, dans le menu **Tools** choisir **Create / Update Tests** +|  \\ \\ \\ \\ Sélectionner la classe à tester puis, dans le menu **Tools** \\ choisir **Create / Update Tests**   {{bloc3:junit-create2.jpg?200|}}  | 
-Dans la boite de dialogue qui s'ouvre, choisir impérativement JUnit**__4__** et valider. +|  \\ \\ \\ \\ \\ Dans la boite de dialogue qui s'ouvre, \\ choisir impérativement JUnit**__4__** et valider.   {{bloc3:junit-create3.jpg?300|}}  | 
- +  
-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.  +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 =====+===== Création d'une méthode de 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". 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".
  
Ligne 13: Ligne 13:
  
 Une méthode de test est une procédure (type retour : **void**) qui n'accepte **aucun paramètre**. Une méthode de test est une procédure (type retour : **void**) qui n'accepte **aucun paramètre**.
 +<code java>
 +@Test
 +public void testToHTML_CasGeneral()
 +{
 +    Object[] unTableau = {"A","B","C"}; 
 +    int n = 3;
 +    String expected = "<table><tr><td>A</td></tr><tr><td>B</td></tr><tr><td>C</td></tr></table>";
 +    String actual = HTMLUtil.toHtml (unTableau, n);
 +    Assert.assertEquals (expected, actual);
 +}
  
 +</code>
 ==== Assertions ==== ==== 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.+Les assertions sont l'outil qui permet de raisonner sous la forme de "Cas de test" : **une situation en entrée doit produire une situation en sortie**. Les assertions permettent de vérifier chaque cas en vérifiant que la situation effective en sortie est conforme à celle attendue.
 |  **Assertion**  |  **Descriptif**  | |  **Assertion**  |  **Descriptif**  |
 |  **assertTrue** et **assertFalse**  | Vérifient qu'une donnée résultat est bien, respectivement, Vraie ou Fausse | |  **assertTrue** et **assertFalse**  | Vérifient qu'une donnée résultat est bien, respectivement, Vraie ou Fausse |
Ligne 25: Ligne 36:
 Pour activer une méthode de test, il faut la faire précéder par l'annotation **@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**. \\  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.+L'absence d'annotation @Test produit le même effet que @Ignore mais n'est pas conseillée car non-explicite.
  
 ===== Traitements pré-test et post-test ===== ===== Traitements pré-test et post-test =====
-Dans certains cas, il sera nécessaire de réaliser des traitements avant ou après chaque test. \\ +<WRAP group> 
 +<WRAP half column> 
 +\\ 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. 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. +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. 
 +</WRAP> 
 + 
 +<WRAP half column> 
 +<code=java> 
 +@BeforeClass 
 +public static void setUpClass() { 
 +
 + 
 +@AfterClass 
 +public static void tearDownClass() { 
 +
 + 
 +@Before 
 +public void setUp() { 
 +
 + 
 +@After 
 +public void tearDown() { 
 +
 +</code> 
 +</WRAP> 
 +</WRAP> 
 + 
 ===== Exécution d'une classe de tests ===== ===== Exécution d'une classe de tests =====
 +<WRAP group>
 +<WRAP half column>
 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**. 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**.
 +
 +Toutes les méthodes de test annotées @Test sont exécutées mais l'ordre de leur exécution n'est pas garanti.
  
 Les résultats sont présentés en fin d'exécution dans l'onglet **Tests results**. Les résultats sont présentés en fin d'exécution dans l'onglet **Tests results**.
 +</WRAP>
 +
 +<WRAP half column>
 +{{bloc3:junit-results.jpg?300|}}
 +</WRAP>
 +</WRAP>
  
bloc3/junit.1680597897.txt.gz · Dernière modification : 2023/04/04 10:44 de admin