当JUnit测试失败时,Mark Gradle在Jenkins中构建不稳定

时间:2011-12-01 15:30:57

标签: junit jenkins gradle

我在Jenkins中使用各种JUnit测试进行Gradle构建,这些测试作为构建的一部分执行。现在,当某些测试失败时,整个构建被标记为失败 - 因为Gradle说构建失败了。

我如何说服Gradle成功构建,然后Jenkins将构建标记为不稳定?用蚂蚁这根本不是问题。

4 个答案:

答案 0 :(得分:23)

使用ignoreFailures property in the test task.

apply plugin: 'java'
test {
     ignoreFailures = true
}

答案 1 :(得分:4)

您可以使用外部属性来解决此问题。

if (!ext.has('ignoreTestFailures')) {
  ext.ignoreTestFailures = false
}

test {
  ignoreFailures = project.ext.ignoreTestFailures
}

在此设置中,默认情况下,失败将导致构建失败。但是如果你像这样调用Gradle:gradle -PignoreTestFailures=true test那么测试失败不会使构建失败。因此,您可以将Jenkins配置为忽略测试失败,但是当开发人员手动运行测试时,可以使构建失败。

答案 2 :(得分:1)

您可以将其包含在main build.gradle中,以应用于所有项目和所有测试任务。

allprojects{
    tasks.withType(Test) {
        ignoreFailures=true;
    }
}

答案 3 :(得分:0)

由于无法忽略失败的测试,因此无法发现我的情况。 如果您使用脚本化的jenkinsfile。可以在try-catch语句中包装测试阶段。

var newDoc = document.implementation.createHTMLDocument("");
newDoc.documentElement.innerHTML = html;

这将捕获gradle抛出的生成异常,但它将生成标记为不稳定。