Sobes.tech
Junior — Middle

Milyen különbségek vannak a JUnit 4 és JUnit 5 verziók között a tesztelés kontextusában?

sobes.tech MI

Válasz az MI-től

A JUnit 4 és JUnit 5 közötti fő különbségek:

  • Architektúra: A JUnit 5 több modulból áll (JUnit Platform, JUnit Jupiter, JUnit Vintage), amelyek lehetővé teszik különböző verziójú tesztek futtatását és a funkcionalitás bővítését. A JUnit 4 monolitikus.

  • Megjegyzések:

    • Új megjegyzések jelentek meg a JUnit 5-ben: @BeforeEach a @Before helyett, @AfterEach a @After helyett, @BeforeAll a @BeforeClass helyett, @AfterAll a @AfterClass helyett.
    • A @Test a JUnit 5-ben támogatja az új lehetőségeket, például a várt kivételek megjelölését assertThrows segítségével a megjegyzés paramétere helyett.
  • Bővíthetőség: A JUnit 5 egy bővíthető kiterjesztési modellt (Extension API) kínál, amely helyettesíti a szabályokat és a futtatókat a JUnit 4-ben.

  • Lambda kifejezések és Java 8+ támogatás: A JUnit 5 kihasználja a Java 8 lehetőségeit, megkönnyítve a tesztek írását és javítva az olvashatóságot.

  • Paraméterezett tesztek: A paraméterezett tesztek támogatása a JUnit 5-ben fejlettebb, rugalmasabb adatforrásokkal.

Egyszerű példa egy JUnit 5 tesztre:

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class CalculatorTest {
    @Test
    void addition() {
        assertEquals(2, 1 + 1);
    }
}

A JUnit 5 modernebb és rugalmasabb, ajánlott új projektekhez, de a JUnit 4 még széles körben használatban van és támogatott.