gradle ignoreFailures测试属性

fac*_*ndu 7 java junit gradle

我的build.gradle文件如下:

apply plugin: "java"
...
test {
  ...
  ignoreFailures = "$ignoreFailureProp"
}
Run Code Online (Sandbox Code Playgroud)

gradle.properties

ignoreFailureProp=false
Run Code Online (Sandbox Code Playgroud)

执行时gradle clean build,单元测试失败不会将构建标记为失败.

我知道默认行为是使构建失败,但我想通过属性显式设置它,在不修改构建文件的情况下进行更改

Ste*_*vik 7

问题是ignoreFailureProp属性是一个字符串,所以ignoreFailures(应该是一个布尔值)被设置为一个字符串,因此将始终为true.

你可以这样做:

apply plugin: "java"

test {
    ignoreFailures = ignoreFailureProp.toBoolean()
}
Run Code Online (Sandbox Code Playgroud)

这应该工作.


Wür*_*paß 6

您不必使用类似的文件gradle.properties

如果更改build.gradle为:

apply plugin: "java"
...
test {
  ...
  ignoreFailures Boolean.getBoolean("test.ignoreFailures")
}
Run Code Online (Sandbox Code Playgroud)

gradle -Dtest.ignoreFailures=true clean build完成与您调用的测试,而无需编辑任何文件。请注意,如果您未设置参数或将其设置为其他值true(不区分大小写),则不会忽略失败(即默认行为)。