如何打印到Jenkins的控制台报告来自失败断言的消息?

时间:2016-06-28 12:36:32

标签: testing jenkins junit hamcrest

我的FullStack测试在Jenkins上运行,并且在成功时不输出任何内容,否则输出测试名称和失败的行。这没有说明出了什么问题。

有没有办法在Jenkins控制台上打印断言错误消息?

我有TestWatcher已截屏。它应该还是System.out.println(e.getMessage())吗?

我希望它能打印出这样的东西:

java.lang.AssertionError: Page is listing a different job
Expected: <true>
     but: was <false>

2 个答案:

答案 0 :(得分:0)

您可以使用Jenkins的Build Failure Analyzer Plugin创建一些正则表达式并在构建页面上打印它们。

这将是一个跳转到日志中右侧的链接。

enter image description here

答案 1 :(得分:0)

由于Jenkins正在调用gradle版本,gradleabsorbing all intermediary outputs,因此只将结果输出到Jenkins控制台。

这就是我在gradle.build文件中解决问题的方法:

nameOfTaskThatRunsTests {
    testLogging {
        events "standardOut"
    }
}

在我的java测试文件中:

@Rule
public TestRule testWatcher = new TestWatcher() {
    @Override
    public void failed(Throwable t, Description test) {
        if (t instanceof AssertionError) {
            System.out.println("Failed assertion: " + t.getMessage());
        }
    }
};
相关问题