如何在gradle日志中获取更多junit-failed-details而不在调试模式下运行gradle

时间:2016-05-25 08:30:05

标签: logging gradle junit reporting travis-ci

问题:

有没有办法将失败的junit4测试的详细信息添加到gradle输出,而不是让所有gradle更详细?

背景:

我有一个java-se junit4回归测试,用于处理在我的win-7-64本地计算机上工作正常的内容但是 使用gradle在travis-ci buildserver上失败。

我跑的时候

./gradlew assemble libIcsJ2se:test

travis-ci日志的gradle输出包含此

* What went wrong:

Execution failed for task ':libIcsJ2se:test'.

> There were failing tests. See the report at: 
> file:///home/travis/build/k3b/CalendarIcsAdapter/libIcsJ2se/build/reports/tests/index.html

但是我无法访问此文件,因为它位于构建服务器上,所以我无法找到测试失败的原因以及原因。

当我在调试模式下运行gradle时

./gradlew -d assemble libIcsJ2se:test

我在日志中看到了我想要的东西:

07:06:56.713 [DEBUG] [TestEventLogger] de.k3b.calendar.DtoIcRegressonsTests > shouldBeSameFixThisEvent STARTED
07:06:56.713 [DEBUG] [TestEventLogger] 
07:06:56.713 [DEBUG] [TestEventLogger] de.k3b.calendar.DtoIcRegressonsTests > shouldBeSameFixThisEvent FAILED
07:06:56.714 [DEBUG] [TestEventLogger]     org.junit.ComparisonFailure: expected:

<...
TART:20000502T123456
[DTEND:20000502T171234]
SUMMARY:test title
...> but was:<...
TART:20000502T123456[Z
DTEND:20000502T171234Z]
SUMMARY:test title
...>
07:06:56.717 [DEBUG] [TestEventLogger]         at de.k3b.calendar.DtoIcRegressonsTests.shouldBeSameFixThisEvent(DtoIcRegressonsTests.java:482)

但是,gradle调试输出包含许多与junit-tests无关的细节。

有没有办法只将失败的junit4测试的细节添加到gradle输出,而不是让所有的gradle更加冗长?

2 个答案:

答案 0 :(得分:2)

请阅读documentation of TestLoggingContainer以了解如何配置运行测试时记录的内容。

答案 1 :(得分:0)

showStandardStreams设置为true。 我在gradle吞下大量测试详细信息时遇到了类似的问题,例如WebClient和Selenium

JUnit5的示例工作配置为:

test {
    useJUnitPlatform()
    testLogging {
        showStandardStreams = true
    }
}