我的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,单元测试失败不会将构建标记为失败.
我知道默认行为是使构建失败,但我想通过属性显式设置它,在不修改构建文件的情况下进行更改
问题是ignoreFailureProp属性是一个字符串,所以ignoreFailures(应该是一个布尔值)被设置为一个字符串,因此将始终为true.
你可以这样做:
apply plugin: "java"
test {
ignoreFailures = ignoreFailureProp.toBoolean()
}
Run Code Online (Sandbox Code Playgroud)
这应该工作.
您不必使用类似的文件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(不区分大小写),则不会忽略失败(即默认行为)。