2013-11-22 124 views
8

我將我的項目設置爲與Robolectric以及gradle-android-test-plugin一起運行。 這一切工作正常,第一次測試正在運行和失敗。如果使用gradle-android-test-plugin測試失敗,請不要讓gradle build失敗

如果測試失敗,這也會導致gradle構建失敗。有沒有辦法讓構建繼續下去,並在後面的步驟中寫下失敗的評估測試?

該計劃是將測試集成到持續集成服務器中,並且如果測試失敗,構建應該不穩定。

回答

10

正確的語法與AndroidConnectedTests是如下:

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

現在測試的任務不再被失敗的積累,你可以拿起失敗的測試與構建服務器馬克特構建不穩定等。

+0

上找不到屬性'testDebug'如果你正在運行任務(例如)'connectedAndroidTestFoo'而不是'connectedAndroidTest',那麼腳本的第二行(見上)應該是connectedAndroidTestFoo {'。 'Foo'是'flavour' – Toochka

7

嗯。那麼你有兩個選擇我想。一種是使用

testTask.ignoreFailures = true 

不要讓測試失敗時任務失敗。

另一種方法是用'--continue'運行你的gradle命令。這將執行儘可能多的任務,並在最後列出失敗的任務,並且在第一個任務失敗後不會停止。

+0

我的項目中沒有testTask來改變這個值。也許這是特定於Java測試任務?我正在使用Gradle for Android。 – Janusz

+0

「testTask」只是您測試任務的佔位符。您必須將ignoreTestFailures屬性設置爲true,才能執行類型爲「Test」的任務,該任務失敗了您的構建 –

+0

有一項稱爲test的任務,但設置此屬性無效。但是我不知道這是否是正確的測試,因爲測試是由第三方插件執行的:android-test。 – Janusz

相關問題