JUnit 5, @Test
JUnit — стандартная библиотека для написания тестов в Java. Тест — это код, который проверяет, что другой код работает правильно, и делает это автоматически, без ручной проверки человеком.
class CalculatorTest {
@Test
void shouldSumTwoNumbers() {
Calculator calc = new Calculator();
int result = calc.sum(2, 3);
assertEquals(5, result); // ожидаем 5 — если не так, тест упадёт
}
}
@Test — помечает метод как тестовый, JUnit запускает его автоматически. assertEquals(ожидаемое, реальное) — главная проверка: совпадают ли значения.
Копнуть глубже
Структура теста — Arrange, Act, Assert (AAA):
@Test
void shouldSumTwoNumbers() {
Calculator calc = new Calculator(); // Arrange — подготовили данные
int result = calc.sum(2, 3); // Act — выполнили действие
assertEquals(5, result); // Assert — проверили результат
}
Часто используемые проверки (assertions):
assertEquals(expected, actual); // равны?
assertTrue(condition); // условие истинно?
assertThrows(Exception.class, () -> riskyMethod()); // бросает исключение?
assertNull(value); // равно null?
Жизненный цикл теста:
@BeforeEach // выполнится перед КАЖДЫМ тестом
void setup() { ... }
@AfterEach // выполнится после КАЖДОГО теста
void cleanup() { ... }
🎤 Закрыл тему, если можешь объяснить:
• что делает `@Test` и `assertEquals`;
• структуру теста Arrange-Act-Assert и зачем нужны `@BeforeEach`/`@AfterEach` (если дошёл до 2-го слоя).
• структуру теста Arrange-Act-Assert и зачем нужны `@BeforeEach`/`@AfterEach` (если дошёл до 2-го слоя).