2013-11-22 83 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

相关问题