web-dev-qa-db-ja.com

Travis CIのテスト結果レポートの読み方

Travisでのビルドでは、失敗したテストがある場合にテスト結果を読み取って、失敗したテストのスタックトレースを確認できるようにしたいと考えています。現在、これらのレポートはテストを実行するマシンのローカルに保存されているため、レポートがあるローカルファイルにアクセスできません。

また、Amazon S3を介してこれらのファイルをアーカイブしたくないので、面倒すぎるようです。

次のようなもの: Travis-CIビルドから確実なレポートを取得する方法? うまくいくように見えますが、複雑でもあるようです。

基本的に、S3を経由せずにTravisからローカルテスト結果ファイルを読み取ることができるようにしたいと考えています。

28
Caren

失敗したテストに関するコンソールで有用な出力を取得する最も簡単な方法は、gradleテストログを使用することです。

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

詳細とその他のオプションについては、gradleユーザーガイドの対応する章をご覧ください: http://gradle.org/docs/current/dsl/org.gradle.api.tasks.testing .logging.TestLoggingContainer.html

13
Rene Groeschke

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

テストレポートは引き続き生成されるため、ローカルでテストを実行するときに参照できます。

8
Ywain

コマンドに--infoを追加してみてください:

./gradlew test --info

さらに必要な場合は、以下をお試しください。

./gradlew test --debug
1
Bart Kiers