В JUnit при неудачных утверждениях исключения обрабатываются следующим образом: если исполняемый код вызывает исключение любого другого типа, то результат теста будет FAIL. 3 И даже если исполняемый код не вызывает никаких исключений, результат теста тоже будет FAIL. 3
Чтобы написать тестовый код, который, как ожидается, вызовет исключение, в JUnit 5 используется метод Assertions.assertThrows(). 3 С его помощью можно утверждать, что вызов определённой функции приводит к выбросу исключения конкретного типа. 5 Кроме того, он возвращает выброшенное исключение, что позволяет сделать дополнительные утверждения (например, проверить, что сообщение и причина верны). 5
Ещё один способ — использовать правило ExpectedException. 5 С его помощью можно указать не только ожидаемое исключение, но и сообщение об исключении. 5