Встречается на собеседованиях • сегодня

В чем разница между JUnit 5 и JUnit 4

JUnit 5 - это полностью переработанная версия, состоящая из нескольких модулей (Jupiter, Vintage, Platform). Основные отличия:

  1. Архитектура: JUnit 5 модульный, JUnit 4 - монолитный
  2. Аннотации:
    • @Test теперь без параметров (timeout/expected вынесены в assertTimeout и assertThrows)
    • Добавлены @BeforeAll, @AfterAll (раньше @BeforeClass, @AfterClass)
  3. Расширения: Вместо @Rule и @RunWith используется @ExtendWith
  4. Динамические тесты: Поддержка @TestFactory для генерации тестов на лету

Пример:

java
// JUnit 5
@DisplayName("Test Calculator")
class CalculatorTest {
    @Test
    @DisplayName("1 + 1 = 2")
    void addsTwoNumbers() {
        assertEquals(2, 1 + 1, "1 + 1 should equal 2");
    }
}

JUnit 5 поддерживает лямбды, группировку тестов (@Nested) и улучшенные сообщения об ошибках. JUnit Vintage позволяет запускать старые JUnit 4 тесты в JUnit 5.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы