相关疑难解决方法(0)

测试失败时记录异常的最佳方法(例如使用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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当然不起作用,因为我只能从try块中捕获异常.是否有一种解决方法以某种方式以类似的简单和一般方式实现这一目标?


顺便说一下,我现在在做什么

在创建异常时记录异常.但是在调用者和库之间的接口上记录异常会更好,所以在我的情况下在测试用例中.在创建例外时不记录也可以保证在调用者决定记录它们时它们不会多次显示.

java logging junit exception junit-rule

5
推荐指数
1
解决办法
8207
查看次数

标签 统计

exception ×1

java ×1

junit ×1

junit-rule ×1

logging ×1