У меня есть этот код:Как проверить, если причина Exception совпадает с типом исключения
CompletableFuture<SomeClass> future = someInstance.getSomething(-902);
try {
future.get(15, TimeUnit.SECONDS);
fail("Print some error");
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
// Here I want to check if e.getCause() matches some exception
} catch (TimeoutException e) {
e.printStackTrace();
}
Так что, когда ExecutionException брошено, это брошено другим исключением в другом классе. Я хочу проверить, соответствует ли исходное исключение ExceptionException некоторым настраиваемым исключениям, которые я создал. Как мне добиться этого с помощью JUnit?
Вы можете использовать экземпляр 'e.getCause() экземпляра CustomException'. http://stackoverflow.com/questions/7526817/use-of-instance-of-in-java – aturkovic
Да, но мне было интересно, есть ли у JUnit какой-то способ сделать это. Потому что, если я хочу проверить несколько исключений, он скоро станет уродливым. 'assertThat (e) .isInstanceOf (IllegalArgumentException.class)', например, больше не работает. Я думаю, что API изменился. –