Какие отличия существуют между версиями JUnit 4 и JUnit 5 в контексте тестирования?
Ответ от нейросети
sobes.tech 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 все еще широко используется и поддерживается.