Какой у вас опыт работы с JUnit?

«Какой у вас опыт работы с JUnit?» — вопрос из категории Автоматизация тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Опыт включает написание модульных тестов для Java-проектов с использованием JUnit 5 (Jupiter).

Ключевые навыки:

  • Аннотации: @Test, @BeforeEach, @AfterEach, @BeforeAll, @AfterAll, @ParameterizedTest.
  • Assertions: assertEquals(), assertTrue(), assertThrows() и другие.
  • Интеграция: Использование Mockito для создания мок-объектов в тестах.
  • Миграция: Понимание различий между JUnit 4 и JUnit 5.

Пример тестового класса:

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class CalculatorTest {
    @Test
    void addition_ShouldReturnCorrectSum() {
        Calculator calc = new Calculator();
        assertEquals(4, calc.add(2, 2));
    }

    @Test
    void division_ByZero_ShouldThrowException() {
        Calculator calc = new Calculator();
        assertThrows(ArithmeticException.class, () -> calc.divide(5, 0));
    }
}

Также есть опыт настройки тестового окружения и запуска тестов через Maven/Gradle.