对于我在Travis上的构建,我希望能够在测试失败时查看测试结果以查看那些失败测试的堆栈跟踪。目前,这些报告本地存储在运行测试的计算机上,因此我无法访问报告所在的本地文件。
我也不想通过Amazon S3归档这些文件,因为这似乎太麻烦了。
类似于:How to get surefire reports form Travis-CI build?似乎可以起作用,但似乎也很复杂。
基本上,我希望能够在不通过S3的情况下从Travis读取本地测试结果文件。
答案 0 :(得分:13)
在控制台上获取有关测试失败的有用输出的最简单方法是使用gradle测试记录。
test {
testLogging {
events "failed"
exceptionFormat "short"
}
}
有关详情和更多选项,请参阅gradle用户指南中的相应章节:http://gradle.org/docs/current/dsl/org.gradle.api.tasks.testing.logging.TestLoggingContainer.html
答案 1 :(得分:8)
为了扩展Rene Groeschke的答案,我发现以下配置对Travis来说是一个很好的折衷方案:
test {
testLogging {
events "passed", "skipped", "failed"
exceptionFormat "full"
}
}
这将产生如下输出:
com.package.SomeClassTest > testPass PASSED
com.package.SomeClassTest > testSkip SKIPPED
com.package.SomeClassTest > testFail FAILED
java.lang.AssertionError: expected:<false> but was:<true>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:118)
at org.junit.Assert.assertEquals(Assert.java:144)
at com.package.SomeClassTest.testFail(SomeClassTest.java:42)
3 tests completed, 1 failed, 1 skipped
仍会生成测试报告,因此您可以在本地运行测试时查阅它。
答案 2 :(得分:1)
尝试在命令中添加--info
:
./gradlew test --info
如果您想要更多,请尝试:
./gradlew test --debug