Quelles sont les différences entre les versions de JUnit 4 et JUnit 5 dans le contexte des tests ?
sobes.tech IA
Réponse de l'IA
Les principales différences entre JUnit 4 et JUnit 5 :
-
Architecture : JUnit 5 se compose de plusieurs modules (JUnit Platform, JUnit Jupiter, JUnit Vintage), ce qui permet d'exécuter des tests de différentes versions et d'étendre la fonctionnalité. JUnit 4 est monolithique.
-
Annotations :
- De nouvelles annotations sont apparues dans JUnit 5 :
@BeforeEachau lieu de@Before,@AfterEachau lieu de@After,@BeforeAllau lieu de@BeforeClass,@AfterAllau lieu de@AfterClass. @Testdans JUnit 5 supporte de nouvelles fonctionnalités, par exemple, indiquer des exceptions attendues viaassertThrowsau lieu du paramètre d'annotation.
- De nouvelles annotations sont apparues dans JUnit 5 :
-
Extensibilité : JUnit 5 offre un modèle d'extension extensible (Extension API), remplaçant les règles et runners de JUnit 4.
-
Support des expressions lambda et Java 8+ : JUnit 5 utilise les fonctionnalités de Java 8, ce qui facilite l'écriture de tests et améliore la lisibilité.
-
Tests paramétrés : La prise en charge des tests paramétrés a été améliorée dans JUnit 5 avec des sources de données plus flexibles.
Exemple d'un test simple en JUnit 5 :
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class CalculatorTest {
@Test
void addition() {
assertEquals(2, 1 + 1);
}
}
JUnit 5 est plus moderne et flexible, recommandé pour de nouveaux projets, mais JUnit 4 est encore largement utilisé et supporté.