Автор оригинала: Pankaj Kumar.
Мы можем протестировать ожидаемые исключения с помощью JUnit 5 утверждение Бросает
утверждение. Этот метод JUnit assertion возвращает брошенное исключение, поэтому мы также можем использовать его для утверждения сообщения об исключении.
Исключение Утверждения JUnit
Вот простой пример, показывающий, как утверждать исключение в JUnit 5.
String str = null; assertThrows(NullPointerException.class, () -> str.length());
JUnit 5 Сообщение Об исключении Утверждения
Допустим, у нас есть класс, определенный как:
class Foo { void foo() throws Exception { throw new Exception("Exception Message"); } }
Давайте посмотрим, как мы можем проверить исключение, а также его сообщение.
Foo foo = new Foo(); Exception exception = assertThrows(Exception.class, () -> foo.foo()); assertEquals("Exception Message", exception.getMessage());
Ожидаемое исключение JUnit 4
Мы можем использовать аннотацию JUnit 4 @Test ожидаемый
атрибут для определения ожидаемого исключения, создаваемого методом тестирования.
@Test(expected = Exception.class) public void test() throws Exception { Foo foo = new Foo(); foo.foo(); }
JUnit 4 Сообщение Об исключении Утверждения
Если мы хотим проверить сообщение об исключении, то нам придется использовать ExpectedException
правило. Ниже приведен полный пример, показывающий, как проверить исключение, а также сообщение об исключении.
package com.journaldev.junit4; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; public class JUnit4TestException { @Rule public ExpectedException thrown = ExpectedException.none(); @Test public void test1() throws Exception { Foo foo = new Foo(); thrown.expect(Exception.class); thrown.expectMessage("Exception Message"); foo.foo(); } }
Это все для быстрого обобщения результатов тестирования ожидаемых исключений в JUnit 5 и JUnit 4.