我的FullStack测试在Jenkins上运行,并且在成功时不输出任何内容,否则输出测试名称和失败的行。这没有说明出了什么问题。
有没有办法在Jenkins控制台上打印断言错误消息?
我有TestWatcher
已截屏。它应该还是System.out.println(e.getMessage())
吗?
我希望它能打印出这样的东西:
java.lang.AssertionError: Page is listing a different job
Expected: <true>
but: was <false>
答案 0 :(得分:0)
答案 1 :(得分:0)
由于Jenkins正在调用gradle
版本,gradle
为absorbing 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());
}
}
};