У меня есть тестовый пример, какКак поймать исключенное исключение в тестовом случае Junit?
@Test(expected = IllegalArgumentException.class)
public void test() throws Exception{
..test content...
}
Так как я использую Java Reflection в моем тестовом случае так IllegalArgumentException является enwrapped в InvocationTargetException, как я могу поймать ожидать IllegalArgumentException вместо InvocationTargetException.
Сообщение об ошибке показывает, как
java.lang.Exception: Unexpected exception, expected<java.lang.IllegalArgumentException> but was<java.lang.reflect.InvocationTargetException>
at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:28)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
Problably ответ уже там, но лично я бы просто реализовать пользовательский сопоставитель hamcrest, который проверяет, является ли причина IllegalArgumentException, а затем использовать правило ExpectedException для его использования. –