如何在调试模式下不使用 运行 gradle 在 gradle 日志中获取更多 junit-failed-details
How to get more junit-failed-details in gradle log without running gradle in debug mode
问题:
有没有办法将失败的 junit4 测试的详细信息添加到 gradle 输出,而不会使所有 gradle 更加冗长?
背景:
我有一个 java-se junit4 回归测试来处理在我的 win-7-64 本地机器上工作正常的 ical 内容但是
使用 gradle.
在 travis-ci 构建服务器上失败
当我运行
./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 测试无关的细节。
有没有办法只将失败的 junit4 测试的详细信息添加到 gradle 输出,而不会使所有 gradle 更加冗长?
请阅读 documentation of TestLoggingContainer
了解如何配置 运行 测试时记录的内容。
将 showStandardStreams
设置为 true
。
我在 gradle 吞下大量测试细节时遇到了类似的问题,例如 WebClient 和 Selenium
JUnit5 的示例工作配置为:
test {
useJUnitPlatform()
testLogging {
showStandardStreams = true
}
}
问题:
有没有办法将失败的 junit4 测试的详细信息添加到 gradle 输出,而不会使所有 gradle 更加冗长?
背景:
我有一个 java-se junit4 回归测试来处理在我的 win-7-64 本地机器上工作正常的 ical 内容但是 使用 gradle.
在 travis-ci 构建服务器上失败当我运行
./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 测试无关的细节。
有没有办法只将失败的 junit4 测试的详细信息添加到 gradle 输出,而不会使所有 gradle 更加冗长?
请阅读 documentation of TestLoggingContainer
了解如何配置 运行 测试时记录的内容。
将 showStandardStreams
设置为 true
。
我在 gradle 吞下大量测试细节时遇到了类似的问题,例如 WebClient 和 Selenium
JUnit5 的示例工作配置为:
test {
useJUnitPlatform()
testLogging {
showStandardStreams = true
}
}