Когда я запускаю полный набор тестов, было бы полезно, если бы исключения, которые вызвали сбой теста, появлялись в моем (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;
}
}
}
, конечно, не работает, так как я могу ловить исключения только из пробного блока. Есть ли обходной путь, чтобы как-то достичь этого таким же простым и общим способом?
- это протоколирую исключение в момент его создания. Но было бы приятнее протоколировать исключения на интерфейсе между вызывающим абонентом и библиотекой, так что в моем случае в тестовом примере. Не протоколирование в момент создания исключений также гарантировало бы, что они не появятся несколько раз, когда звонящий решит их протоколировать.