JUnit — фреймворк для тестирования программного обеспечения на языке Java.

JUnit — фреймворк для тестирования программного обеспечения на языке Java.

JUnit — это фреймворк для языка программирования Java, используется для автоматизированного тестирования.
Автоматизированное тестирование в значительной степени позволяет сократить время и ресурсы для прогона тестов.
JUnit 6 — это текущее (на сегодняшний день выпуска данной статьи) поколение фреймворка для тестирования ,
который представляет собой современную основу для тестирования на стороне разработчика в JVM.
JUnit состоит из нескольких различных модулей, разработанных в рамках трёх разных подпроектов.
JUnit 6.0.1 = Платформа JUnit + JUnit Jupiter + JUnit Vintage
Платформа JUnit - служит основой для запуска фреймворков тестирования.
JUnit Jupiter — это сочетание модели программирования и модели расширений для написания тестов и расширений JUnit.
JUnit Vintage предоставляет TestEngine для запуска тестов на основе JUnit 3 и JUnit 4 на платформе.
Пример:
import static org.junit.jupiter.api.Assertions.assertEquals;
import example.util.Calculator;
import org.junit.jupiter.api.Test;
class MyTest {
private final Calculator calculator = new Calculator();
@Test
void addition() {
assertEquals(2, calculator.add(1, 1));
}
}
JUnit Jupiter поддерживает следующие аннотации для настройки тестов и расширения фреймворка:
@Test
Отражает, что метод является тестовым.
@ParameterizedTest
Метод является параметризованным тестом.
@TestFactory
Метод является фабрикой тестов для динамических тестов.
@TestTemplate
Метод является шаблоном для тестового примера, предназначен для многократного вызова.
@TestClassOrder
Используется для настройки порядка выполнения тестовых классов для @Nested.
@TestMethodOrder
Используется для настройки порядка выполнения тестовых методов для аннотированного тестового класса.
@DisplayName
Показывает описание метода тестирования.
@BeforeEach
Данный метод должен выполняться перед каждым @Test методом.
@AfterEach
Данный метод выполняется после каждого @Test метода.
@BeforeAll
Метод должен выполняться до всех @Test методов.
@AfterAll
Метод должен выполняться после всех @Test методов.
@ParameterizedClass
Обозначает, что аннотированный класс является параметризованным классом.
@BeforeParameterizedClassInvocation
Аннотированный метод должен выполняться один раз перед каждым вызовом параметризованного класса.
@AfterParameterizedClassInvocation
Аннотированный метод должен выполняться один раз после каждого вызова параметризованного класса.
@ClassTemplate
Аннотированный класс является шаблоном для тестового класса, предназначенным для многократного выполнения.
@Nested
Данный аннотированный класс является нестатическим вложенным тестовым классом.
@Tag
Используется для объявления тегов для фильтрации тестов на уровне класса или метода.
@Disabled
Используется для отключения тестового класса или метода.
@AutoClose
Представляет собой ресурс, который будет автоматически закрыт после выполнения теста.
@Timeout
Используется для отмены теста, если их выполнение занимает больше заданного времени.
JUnit — весьма распространенный фреймворк для модульного тестирования.
В частности, активно используется для Rest API тестирования HTTP методов.
Преимуществом является его широкая распространённость и популярность, в связи с чем, в сети можно найти любой интересующий тестировщика вопрос.

Начать дискуссию