Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Comment Tester les Méthodes `void` | 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
Comment Tester les Méthodes `void`

L'algorithme pour écrire des tests unitaires nous est clair. Tout d'abord, nous spécifions l'input, puis le résultat expected, et enfin, le résultat actual retourné par la méthode en cours de test. Mais la question se pose de savoir comment tester les méthodes qui ne retournent rien ?

Tester les méthodes void peut être un processus difficile car nous ne pouvons pas tester la valeur de retour. Cependant, les méthodes void changent souvent l'état d'un objet, nous pouvons donc tester leur fonctionnalité de cette manière.

Compteur

Écrivons une méthode void avec laquelle nous allons travailler ; ce sera une méthode simple qui incrémente une valeur ( oui, Java a déjà une telle méthode, mais je pense que cette méthode sera un excellent exemple pour les tests ) :

java

Counter

copy
1234567891011
public class Counter { private int count = 0; public void increment() { count++; } public int getCount() { return count; } }

Ci-dessus, vous pouvez voir la classe Counter, qui contient une méthode increment et stocke une variable appelée count. Par exemple, si nous avons besoin de compter quelque chose, nous pouvons simplement appeler cette méthode en utilisant la construction Counter.increment(), et la variable privée count augmentera.

Création de Tests

Tout d'abord, nous devons créer une instance de cette classe, puis utiliser la méthode void sur cette instance.

Ensuite, nous vérifions simplement si cet élément n'est pas égal à zéro, et s'il ne l'est pas, cela signifie que la méthode a fonctionné avec succès, et que la variable a été incrémentée. Voici à quoi ressemblera le premier test unitaire :

Comme vous pouvez le voir, nous avons suivi l'algorithme, puis nous vérifions l'état attendu de l'objet counter.

Après une incrémentation, l'objet a changé sa valeur à +1, donc il devrait être égal à un, et c'est exactement ce que nous vérifions.

La seule chose qu'il nous reste à vérifier est lorsque nous incrémentons plusieurs fois. Par exemple, écrivons un test unitaire où nous incrémentons la variable count plusieurs fois et vérifions l'exactitude du résultat :

Ici, nous créons également un nouvel objet et appelons la méthode increment() trois fois. Ensuite, nous comparons le résultat avec 3, testant ainsi si la méthode fonctionne correctement.

Optimisation des Tests

Ces tests peuvent également être optimisés en utilisant l'annotation @BeforeEach et en créant un objet Counter au début des tests.

Vous pouvez le faire comme ceci :

De cette façon, nous pouvons éliminer la création de l'objet counter de chaque test unitaire, car il est maintenant créé automatiquement. Voici le code final pour le test unitaire de la méthode void increment():

Dans le prochain chapitre, nous aborderons les différents types d'assertions et comment les utiliser.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

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