【问题标题】:How to read test result reports on Travis CI?如何阅读 Travis CI 的测试结果报告?
【发布时间】:2015-02-19 19:10:56
【问题描述】:

对于我在 Travis 上的构建,我希望能够在测试失败时读取测试结果,以查看那些失败测试的堆栈跟踪。目前,这些报告本地存储在运行测试的机器上,因此我无法访问报告所在的本地文件。

我也不想通过 Amazon S3 存档这些文件,因为这看起来太麻烦了。

类似:How to get surefire reports form Travis-CI build? 的东西似乎可以工作,但也似乎很复杂。

基本上,我希望能够在不通过 S3 的情况下从 Travis 读取本地测试结果文件。

【问题讨论】:

  • 您不能以在运行测试时输出更多信息的方式运行构建工具吗?
  • 类似 ./gradlew test --info 而不是 ./gradlew test?我想这可能是一个简单的解决方案,但是通过完整的报告,可能会有更多关于失败测试的信息,我认为这有时会更有帮助。
  • 我只是想看看--info--debug 是否产生了足够的信息。如果没有,您可以微调您的问题。

标签: gradle travis-ci


【解决方案1】:

为了扩展 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】:

    在控制台上获得有关失败测试的有用输出的最简单方法是使用 gradle 测试日志记录。

    test {
        testLogging {
            events "failed"
            exceptionFormat "short"
        }
    }
    

    有关详细信息和更多选项,请查看 gradle 用户指南中的相应章节:http://gradle.org/docs/current/dsl/org.gradle.api.tasks.testing.logging.TestLoggingContainer.html

    【讨论】:

    • 我认为这是最简单的解决方案,它不会像 --info 或 --debug 那样污染构建日志。我最终转而使用 exceptionFormat "full",因为 "short" 甚至不包含异常消息。
    【解决方案3】:

    尝试将--info 添加到您的命令中:

    ./gradlew test --info
    

    如果您想要更多,请尝试:

    ./gradlew test --debug
    

    【讨论】:

    • 无论出于何种原因,尝试这些选项似乎仍然无法输出 travis 中测试失败的原因
    • 嗯,对我有用。我看到断言消息(即got X, expected Y
    猜你喜欢
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多