[英]How to mark build as failed if JS tests fail and mark build as UNSTABLE
[英]Mark Gradle build unstable in Jenkins when JUnit tests fail
我在Jenkins中使用了各种JUnit测试的Gradle构建,这些测试作为构建的一部分执行。 现在,当某些测试失败时,整个构建被标记为失败 - 因为Gradle说构建失败了。
我怎样才能说服Gradle成功构建,然后Jenkins将构建标记为不稳定? 用蚂蚁这根本不是问题。
apply plugin: 'java'
test {
ignoreFailures = true
}
您可以使用外部属性来解决此问题。
if (!ext.has('ignoreTestFailures')) {
ext.ignoreTestFailures = false
}
test {
ignoreFailures = project.ext.ignoreTestFailures
}
在此设置中,默认情况下,失败将导致构建失败。 但是如果你像这样调用Gradle: gradle -PignoreTestFailures=true test
那么测试失败不会使构建失败。 因此,您可以将Jenkins配置为忽略测试失败,但在开发人员手动运行测试时使构建失败。
您可以将其包含在main build.gradle中,以应用于所有项目和所有测试任务。
allprojects{
tasks.withType(Test) {
ignoreFailures=true;
}
}
由于在我的情况下无法使用忽略失败的测试,因此我发现了以下内容。 如果您使用的是脚本化的jenkins文件。 可以将测试阶段包装在try-catch语句中。
try {
stage('test') {
sh './gradlew test'
}
} catch (e) {
echo "Test FAILED"
}
这将捕获gradle抛出的构建异常,但它将构建标记为不稳定。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.