当我运行一个完整的测试套件时,如果导致测试失败的异常会出现在我的(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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
当然不起作用,因为我只能从try块中捕获异常.是否有一种解决方法以某种方式以类似的简单和一般方式实现这一目标?
在创建异常时记录异常.但是在调用者和库之间的接口上记录异常会更好,所以在我的情况下在测试用例中.在创建例外时不记录也可以保证在调用者决定记录它们时它们不会多次显示.