Лучший способ регистрировать исключения, когда тесты не пройдены (например, с использованием правила junit)
Когда я запускаю полный набор тестов, было бы полезно, чтобы в моем журнале (SLF4J-) появлялись исключения, которые вызывали сбой теста. Каков наилучший метод для достижения этой цели?
Что бы я хотелявляется правилом junit4, которое обрабатывает регистрацию исключений для меня. Код
@Rule
public TestRule logException = new TestWatcher() {
@Override
public void failed(Description d) {
catch (Exception e) {
logger.error("Test ({}) failed because of exception {}", d, e);
throw e;
}
}
}
конечно не работает, так как я могу ловить только исключения из блока try. Есть ли обходной путь, чтобы как-то добиться этого таким же простым и общим способом?
Кстати, чем я сейчас занимаюсьрегистрирует исключение в момент его создания. Но было бы лучше регистрировать исключения в интерфейсе между вызывающей стороной и библиотекой, поэтому в моем случае в тестовом примере. Отсутствие регистрации при создании исключений также гарантирует, что они не появятся несколько раз, когда вызывающий абонент решит зарегистрировать их.