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

Как проверить ожидаемое исключение в JUnit

В JUnit 4 и 5 есть разные способы проверки исключений:

JUnit 5 (Jupiter):

java
@Test
void testException() {
    assertThrows(IllegalArgumentException.class, () -> {
        someMethodThatThrows();
    });
}

JUnit 4:

java
@Test(expected = IllegalArgumentException.class)
public void testException() {
    someMethodThatThrows();
}

Или с ExpectedException правилом:

java
@Rule
public ExpectedException exception = ExpectedException.none();

@Test
public void testException() {
    exception.expect(IllegalArgumentException.class);
    exception.expectMessage("Invalid argument");
    someMethodThatThrows();
}

JUnit 5 предпочтительнее - assertThrows() возвращает исключение для дополнительных проверок (message, cause и т.д.). В JUnit 4 expected проще, но менее гибкий.

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

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

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

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