Contenu du cours
Backend Spring Boot
Backend Spring Boot
Tests Modulaires avec JUnit
Lorsque nous avons examiné l'architecture de l'application, nous avons passé sous silence le répertoire test
, qui était destiné aux tests. Maintenant, nous allons jeter un coup d'œil plus attentif sur la façon d'écrire ces tests et ce qui est nécessaire pour le faire.
Concepts de base
Pour les tests, nous utiliserons la bibliothèque JUnit
. C'est l'un des frameworks les plus populaires pour les tests unitaires dans les applications Java. Il est facile à utiliser et à intégrer, surtout avec Spring Boot.
Pour utiliser JUnit
, nous devons ajouter une dépendance à notre fichier pom.xml
.
Nous sommes maintenant prêts à écrire notre premier test dans notre application !
Écriture de Test
Nous allons maintenant écrire un test qui n'est pas directement lié à notre application mais qui vous aidera à comprendre le concept de test.
Dans Spring Boot, les tests sont généralement situés dans le répertoire src/test/java
, qui est automatiquement créé lors de l'initialisation du projet. Ici, nous pouvons créer notre test.
Créons une classe nommée SimpleTest
, et à l'intérieur, nous pouvons créer une méthode de test appelée testSum()
.
SimpleTest
public class SimpleTest { // This method tests the sum of two integers. @Test public void testSum() { // Perform the sum of 2 and 2 and store the result in a variable. int result = 2 + 2; // Assert that the result is equal to 4. assertEquals(4, result); } }
L'annotation @Test
dans JUnit
indique que la méthode est un test et doit être exécutée pendant le processus de test.
À l'intérieur du test, une assertion est utilisée : assertEquals(4, result)
, qui vérifie que le résultat du calcul correspond à la valeur attendue. Si le result
ne répond pas aux attentes, le test sera considéré comme échoué, signalant un problème dans la logique du programme.
En exécutant notre test, nous pouvons voir qu'il a réussi avec succès !
Règles pour écrire des tests
Dans les tests unitaires, il est important de suivre un système de nommage clair et structuré pour les classes et les méthodes afin que les tests soient lisibles et faciles à maintenir.
Nom de la Classe
Le nom de la classe testée devrait inclure le suffixe Test
. Par exemple, si nous testons une classe nommée BookController
, la classe de test correspondante serait nommée BookControllerTest
.
Nommer les Méthodes
Les noms des méthodes de test doivent être descriptifs, permettant à quiconque les lisant de comprendre ce qui est testé. Un bon schéma de nommage inclut : (Ce qui est testé) _ (Sous quelles conditions) _ (Résultat attendu).
Dans ce nom de test, testCreateUser
indique que le processus de création d'un utilisateur est testé. La partie suivante, whenInputIsValid
, décrit les conditions dans lesquelles le test est effectué — spécifiquement, lorsque l'entrée utilisateur est valide. Enfin, shouldReturnCreatedUser
spécifie le résultat attendu — la méthode devrait retourner l'utilisateur créé.
Résumé
Les tests unitaires utilisant JUnit
permettent de vérifier la justesse des parties individuelles d'une application de manière isolée, assurant une haute qualité de code et la stabilité du système lors de modifications.
JUnit
fournit des outils pratiques pour écrire, exécuter et organiser des tests, en faisant le choix principal pour tester les applications Java, y compris Spring Boot.
1. Que fait l'annotation @Test
dans JUnit ?
2. Quelle convention de nommage doit être utilisée pour les classes de test dans JUnit ?
Merci pour vos commentaires !