Travisでのビルドでは、失敗したテストがある場合にテスト結果を読み取って、失敗したテストのスタックトレースを確認できるようにしたいと考えています。現在、これらのレポートはテストを実行するマシンのローカルに保存されているため、レポートがあるローカルファイルにアクセスできません。
また、Amazon S3を介してこれらのファイルをアーカイブしたくないので、面倒すぎるようです。
次のようなもの: Travis-CIビルドから確実なレポートを取得する方法? うまくいくように見えますが、複雑でもあるようです。
基本的に、S3を経由せずにTravisからローカルテスト結果ファイルを読み取ることができるようにしたいと考えています。
失敗したテストに関するコンソールで有用な出力を取得する最も簡単な方法は、gradleテストログを使用することです。
test {
testLogging {
events "failed"
exceptionFormat "short"
}
}
詳細とその他のオプションについては、gradleユーザーガイドの対応する章をご覧ください: http://gradle.org/docs/current/dsl/org.gradle.api.tasks.testing .logging.TestLoggingContainer.html
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
テストレポートは引き続き生成されるため、ローカルでテストを実行するときに参照できます。
コマンドに--info
を追加してみてください:
./gradlew test --info
さらに必要な場合は、以下をお試しください。
./gradlew test --debug