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-го слоя).