您好我已经在Jenkins上设置我的Android项目来提供CI。它运行良好,在连接的Android手机上运行测试。测试在Android测试框架上运行,扩展了jUnit3。
不幸的是,如果有任何测试失败,则构建被标记为失败。我希望能够以两种方式改进这一点:
对于第1项,我尝试将其添加到项目build.gradle:
connectedCheck {
ignoreFailures = true
}
但它没有效果。看一下构建日志,我意识到实际的测试任务叫做connectedInstrumentTest,但找不到这个任务:
connectedInstrumentTest {
ignoreFailures = true
}
导致:
无法在项目':Playtime'上为参数[build_4ldpah0qgf0ukktofecsq41r98 $ _run_closure3 @ 9cd826]找到方法connectedInstrumentTest()。
我错过了吗?
由于
编辑:继承我的项目build.gradle,没什么特别的:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
dependencies {
compile files('libs/android-support-v4.jar')
}
android {
compileSdkVersion 17
buildToolsVersion "18.0.1"
defaultConfig {
minSdkVersion 8
targetSdkVersion 16
testPackageName "com.bb.pt.test"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
}
}
connectedCheck {
ignoreFailures = true
}
我在詹金斯的gradle设置:
switches: --stacktrace --info
tasks: :pt:assembleDebug :pt:assembleTest :pt:connectedCheck
编辑:
我建立了gradlew并试过了。相同的输出。如果测试失败,我不希望构建失败:
:pt:connectedInstrumentTest FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':pt:connectedInstrumentTest'.
> There were failing tests. See the report at: file:///home/simon/WorkingCopies/bb/code/trunk/pt/pt/build/reports/instrumentTests/connected/index.html
* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.
BUILD FAILED
我尝试在build.gradle中限定任务名称:
task connectedCheck {
ignoreFailures = true
}
但它认为我正在尝试添加新任务而不是修改现有任务。
FAILURE: Build failed with an exception.
* Where:
Build file '/home/simon/WorkingCopies/bb/code/trunk/pt/pt/build.gradle' line: 31
* What went wrong:
A problem occurred evaluating project ':pt'.
> Cannot add task ':pt:connectedCheck' as a task with that name already exists.
答案 0 :(得分:11)
在我们的谈话之后,我相信:
我认为(虽然我不是专家)你应该让connectedInstrumentTest忽略失败,但你试图使用以下失败
connectedInstrumentTest {
ignoreFailures = true
}
也许解决方案就是这样包装这个配置节点:
project.gradle.taskGraph.whenReady {
connectedInstrumentTest {
ignoreFailures = true
}
}
https://github.com/stanfy/hotandroid/blob/master/part0/build.gradle