Blog ENI : Toute la veille numérique !
-25€ dès 75€ sur les livres en ligne, vidéos... avec le code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Struts 2
  3. Les tests unitaires sous Struts 2
Extrait - Struts 2 Développez votre application web moderne avec Java
Extraits du livre
Struts 2 Développez votre application web moderne avec Java Revenir à la page d'achat du livre

Les tests unitaires sous Struts 2

Introduction

Afin d’améliorer la qualité de votre code, il est important de mettre en place des tests unitaires.

Un test unitaire a pour objectif de tester une fonctionnalité et de vérifier si elle se comporte comme attendu, si nous obtenons bien le résultat attendu en sortie par rapport aux données en entrée.

L’intérêt, une fois un lot de tests unitaires mis en place sur le code, est que, lorsque nous développons une nouvelle version logicielle, il est facile et rapide de repasser tous les tests et de nous assurer qu’aucune régression dans le code n’a été introduite par les nouveaux développements. Suivant la complexité et la criticité d’un projet, nous pouvons choisir le degré de couverture du code par des tests unitaires.

JUnit

1. Introduction

JUnit est un framework open source spécifique au développement de tests unitaires et à leur exécution.

2. Ajouter le plug-in JUnit

Struts 2 dispose du plug-in junit qui permet de tester les classes de type action. Dans notre projet Maven Java Struts devispro, nous allons ajouter le plug-in struts2-junit-plugin.

 Pour cela, ouvrez le fichier Maven pom.xml et ajoutez la dépendance ci-dessous :

<dependency> 
    <groupId>org.apache.struts</groupId> 
    <artifactId>struts2-junit-plugin</artifactId> 
    <version>2.5.22</version> 
    <scope>test</scope> 
</dependency> 
Images/08ET01.png

 Faites un clic droit sur le projet devispro, cliquez sur Maven, puis sur Update Project et sur OK afin d’être certain que les jars soient bien ajoutés au projet.

Images/08ET02.PNG

Maintenant, si vous allez sous MavenDependencies dans le projet devispro, vous pouvez vérifier que le jar struts2-junit-plugin-2.5.22.jar a bien été importé.

Images/08ET03.PNG

Méthodologie

1. Principes des tests unitaires avec JUnit

JUnit est le framework de tests unitaires le plus utilisé en Java.

a. Répertoire de tests pour JUnit

Les tests JUnit doivent être regroupés dans des classes de test sous src/java/test. Il faut nommer la classe de test en fonction du nom de la classe testée et la préfixer ou suffixer par Test en la plaçant dans le même package.

 Par exemple, pour tester la classe AccountAction.java, créez une classe Test AccountAction ou AccountActionTest.

Images/08ET04.PNG

La classe de test TestAccountAction ou AccountActionTest hérite de StrutsTestCase.

b. Méthode de test

Une classe de test est une classe qui déclare une ou des méthodes publiques sans paramètre et sans valeur de retour, elle présente l’annotation @Test, voici un exemple :

@Test 
  public void upperCase() throws Exception { 
    // Bloc arrange 
    String message = "bienvenue"; 
 
    // Bloc act => méthode à tester 
    String majuscule = message.toUpperCase(); 
 
    // Bloc assertion 
    assertEquals("BIENVENUE", majuscule); 
  } 

c. Les assertions

Les méthodes de type assertion permettent de vérifier la valeur d’un paramètre ou de comparer deux valeurs passées en paramètres. Si l’assertion est fausse, une exception de type AssertionError est retournée et le test est en échec.

Voici un tableau listant les différentes méthodes d’assertion proposées par JUnit :

Méthode

Utilisation

assertTrue(boolean condition)

Vérifie que la condition passée en paramètre est vraie.

assertFalse(boolean condition)...