Sobes.tech
Junior — Middle

Kādi ir atšķirības starp JUnit 4 un JUnit 5 versijām testēšanas kontekstā?

sobes.tech AI

Atbilde no AI

Galvenās atšķirības starp JUnit 4 un JUnit 5:

  • Arhitektūra: JUnit 5 sastāv no vairākiem moduļiem (JUnit Platform, JUnit Jupiter, JUnit Vintage), kas ļauj palaist dažādu versiju testus un paplašināt funkcionalitāti. JUnit 4 ir monolīts.

  • Atslēgvārdi:

    • JUnit 5 parādījās jauni atslēgvārdi: @BeforeEach vietā @Before, @AfterEach vietā @After, @BeforeAll vietā @BeforeClass, @AfterAll vietā @AfterClass.
    • @Test JUnit 5 atbalsta jaunas iespējas, piemēram, norādot gaidāmās izņēmuma kļūdas ar assertThrows vietā anotācijas parametrā.
  • Paplašināmība: JUnit 5 piedāvā paplašināmu paplašinājumu modeli (Extension API), kas aizstāj JUnit 4 noteikumus un rīkotājus.

  • Atbalsts lambda izteiksmēm un Java 8+: JUnit 5 izmanto Java 8 iespējas, kas atvieglo testu rakstīšanu un uzlabo lasāmību.

  • Parametrizēti testi: JUnit 5 ir uzlabojusi parametrizēto testu atbalstu ar elastīgākiem datu avotiem.

Vienkāršs JUnit 5 testa piemērs:

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

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

JUnit 5 ir modernāks un elastīgāks, ieteicams jaunajiem projektiem, bet JUnit 4 joprojām ir plaši izmantots un atbalstīts.