Автор оригинала: mkyong.
В JUnit 5 мы можем использовать assert Броски
, чтобы утверждать, что выбрасывается исключение.
P.S Протестировано с JUnit 5.5.2
1. Непроверенное исключение
1.1 Пример JUnit для перехвата исключения во время выполнения.
package com.mkyong.assertions; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; public class ExceptionExample1 { @Test void test_exception() { Exception exception = assertThrows( ArithmeticException.class, () -> divide(1, 0)); assertEquals("/ by zero", exception.getMessage()); assertTrue(exception.getMessage().contains("zero")); } int divide(int input, int divide) { return input / divide; } }
2. Проверенное исключение
2.1 Пример JUnit для перехвата пользовательского исключения/исключения во время компиляции.
package com.mkyong.assertions; public class NameNotFoundException extends Exception { public NameNotFoundException(String message) { super(message); } }
package com.mkyong.assertions; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; public class ExceptionExample2 { @Test void test_exception_custom() { Exception exception = assertThrows( NameNotFoundException.class, () -> findByName("mkyong")); assertTrue(exception.getMessage().contains("not found")); } String findByName(String name) throws NameNotFoundException{ throw new NameNotFoundException( name + " not found!"); } }
Скачать Исходный Код
- Утверждения JUnit 5
- Примеры пользовательских исключений Java
Оригинал: “https://mkyong.com/junit5/junit-5-expected-exception/”