2013-11-22 32 views
8

Robolectricとgradle-android-test-pluginでプロジェクトを実行するように設定しました。 これはすべて正常に動作し、最初のテストは実行中で、失敗しています。gradle-android-test-pluginでテストに失敗した場合は、gradleビルドに失敗しないでください。

テストに失敗した場合、これもグラデルビルドに失敗します。ビルドを続行し、後のステップで評価に失敗したテストを書き留める方法はありますか?

計画は、継続的な統合サーバーにテストを統合することであり、テストが失敗した場合にのみビルドが不安定になるはずです。

答えて

10

AndroidConnectedTestsで正しい構文は次のとおりです。

project.gradle.taskGraph.whenReady { 
    connectedAndroidTest { 
     ignoreFailures = true 
    } 
} 

今すぐテストタスクはもうビルドを失敗されていないと、ビルドなどの不安定などをマルクトがビルドサーバで失敗したテストを拾うことができます

+0

のプロパティ 'testDebug'が見つかりませんでした。 'connectedAndroidTest'ではなく 'connectedAndroidTestFoo'などのタスクを実行している場合、スクリプトの2行目(上記参照)は' connectedAndroidTestFoo {'にする必要があります。 'Foo'は' flavour'です – Toochka

7

Hmm。あなたは私が考える2つの選択肢があります。 1つは使用することです

testTask.ignoreFailures = true 

テストが失敗したときにタスクが失敗しないようにします。

もう1つの方法は、gradleコマンドを '--continue'で実行することです。これにより、可能な限り多くのタスクが実行され、最後に失敗したタスクがリストされ、最初のタスクが失敗した後には停止しません。

+0

この値を変更する私のプロジェクトにtestTaskはありません。これはJavaテストのタスクに固有のものでしょうか?私はAndroid用のGradleを使用しています。 – Janusz

+0

"testTask"はテストタスクのプレースホルダです。あなたのビルドに失敗したタイプ "Test"のタスクに対してigno​​reTestFailuresプロパティをtrueに設定する必要があります。 –

+0

testというタスクがありますが、このプロパティを設定しても何もしません。しかし、テストが第三者のプラグインによって実行されているので、これが正しいテストかどうかは分かりません。アンドロイドテストです。 – Janusz

関連する問題