Какви са разликите между версиите на JUnit 4 и JUnit 5 в контекста на тестването?
sobes.tech AI
Отговор от AI
Основните разлики между JUnit 4 и JUnit 5:
-
Архитектура: JUnit 5 се състои от няколко модула (JUnit Platform, JUnit Jupiter, JUnit Vintage), което позволява изпълнение на тестове от различни версии и разширяване на функционалността. JUnit 4 е монолитен.
-
Анотации:
- В JUnit 5 се появиха нови анотации:
@BeforeEachвместо@Before,@AfterEachвместо@After,@BeforeAllвместо@BeforeClass,@AfterAllвместо@AfterClass. @Testв JUnit 5 поддържа нови възможности, например указване на очаквани изключения чрезassertThrowsвместо параметър на анотацията.
- В JUnit 5 се появиха нови анотации:
-
Разширяемост: JUnit 5 предоставя разширяем модел на разширения (Extension API), който заменя правилата и рънърите от JUnit 4.
-
Поддръжка за лямбда изрази и Java 8+: JUnit 5 използва възможностите на Java 8, което улеснява писането на тестове и подобрява четливостта.
-
Параметризирани тестове: В JUnit 5 подобрена поддръжка за параметризирани тестове с по-гъвкави източници на данни.
Пример за прост тест в 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 е по-модерен и гъвкав, препоръчва се за нови проекти, но JUnit 4 все още е широко използван и поддържан.