Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre @BeforeEach | Tests Unitaires
Bibliothèque Java JUnit. Types de Tests
course content

Contenu du cours

Bibliothèque Java JUnit. Types de Tests

Bibliothèque Java JUnit. Types de Tests

1. Tests en Développement
2. Tests Unitaires
3. Exceptions

book
@BeforeEach

Continuons à créer des tests unitaires pour la classe de test et la méthode qui trie les palindromes dans l'ordre inverse par longueur. Nous avons une méthode qui vérifie la fonctionnalité de cette méthode. Nous devons tester quelques cas supplémentaires de fonctionnement de cette méthode :

  1. Tester la fonctionnalité de la méthode lorsque nous passons une liste vide ;
  2. Tester la fonctionnalité de la méthode lorsque nous passons une liste sans palindromes ;
  3. Tester la fonctionnalité de la méthode lorsque nous passons une liste de palindromes de différentes longueurs.

Remarque

Lorsque nous créons des méthodes, nous devons leur donner des noms appropriés qui reflètent pleinement comment la méthode fonctionne. Par exemple, dans le cas d'une liste vide, nous nommerons le test unitaire ainsi : testFilterAndSortPalindromesWithEmptyList.

Commençons par le deuxième cas de test lorsque nous passons une liste vide à la méthode :

Comme vous pouvez le voir, nous passons des listes vides à la fois comme " input " et " expected ". En d'autres termes, nous nous attendons à ce que la méthode retourne une liste vide. C'est exactement ce que le test vérifie ; nous passons une liste vide et nous nous attendons à recevoir une liste vide en retour.

Ensuite, créons un test qui passera une liste qui ne contient aucun palindrome. Dans ce cas, nous nous attendons également à recevoir une liste vide :

Remarque

Faites attention au nom de ce test. Le nom indique ce que le test fait et quel cas est testé.

Ici, nous testons également cette méthode avec l'attente de recevoir une liste vide. Dans le cas où il n'y a pas de palindromes, la méthode ne devrait pas retourner de liste puisque tous les éléments seront filtrés lors du tri.

@BeforeEach

Vous avez peut-être remarqué que dans chaque test, nous suivons le même ensemble d'actions. Dans le cadre JUnit, il existe une annotation qui nous permet de simplifier légèrement ce processus. Plus précisément, nous automatisons le processus de création des variables input, expected et actual en utilisant l'annotation @BeforeEach. Les actions spécifiées dans la méthode annotée avec cette annotation seront exécutées avant chaque test.

Par exemple, nous pouvons spécifier la création de trois listes, comme ceci :

Nous avons annoté la méthode SetUp() avec @BeforeEach, ce qui signifie que cette méthode sera exécutée chaque fois avant chaque méthode de test. En ayant une telle méthode, nous pouvons supprimer la création de la liste de chacun des tests, ce qui rend notre travail un peu plus facile.

Mais ce sera votre tâche.

Tâche

Votre tâche est de supprimer la création de la liste des tests et d'écrire un test unitaire qui vérifiera si le tri dans la méthode fonctionne correctement. En d'autres termes, vous devez créer un test qui vérifiera comment la méthode se comporte avec des palindromes de différentes longueurs.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4
We're sorry to hear that something went wrong. What happened?
some-alt