Рубрики
Без рубрики

JUnit Утверждает исключение – JUnit 5 и JUnit 4

Исключение утверждения JUnit, ожидаемое исключение JUnit, исключение теста JUnit, сообщение об исключении утверждения JUnit, Правило ожидаемого исключения JUnit4, строки утверждения JUnit 5

Автор оригинала: 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.