Sobes.tech
Junior — Middle

Aké sú rozdiely medzi verziami JUnit 4 a JUnit 5 v kontexte testovania?

sobes.tech AI

Odpoveď od AI

Hlavné rozdiely medzi JUnit 4 a JUnit 5:

  • Architektúra: JUnit 5 pozostáva z viacerých modulov (JUnit Platform, JUnit Jupiter, JUnit Vintage), čo umožňuje spúšťanie testov rôznych verzií a rozširovanie funkcií. JUnit 4 je monolitický.

  • Anotácie:

    • V JUnit 5 sa objavili nové anotácie: @BeforeEach namiesto @Before, @AfterEach namiesto @After, @BeforeAll namiesto @BeforeClass, @AfterAll namiesto @AfterClass.
    • @Test v JUnit 5 podporuje nové možnosti, napríklad označenie očakávaných výnimiek pomocou assertThrows namiesto parametra anotácie.
  • Rozšíriteľnosť: JUnit 5 ponúka rozšíriteľný model rozšírení (Extension API), ktorý nahrádza pravidlá a runnerov z JUnit 4.

  • Podpora lambda výrazov a Java 8+: JUnit 5 využíva možnosti Java 8, čo uľahčuje písanie testov a zlepšuje čitateľnosť.

  • Parametrizované testy: V JUnit 5 bola podpora parametrizovaných testov vylepšená s flexibilnejšími zdrojmi dát.

Príklad jednoduchého testu v 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 je modernejší a flexibilnejší, odporúča sa pre nové projekty, ale JUnit 4 je ešte stále široko používaný a podporovaný.