我正在编写一个委派给ant.junit
的Gradle任务。(是的,这就是我想做的)。
当测试失败时,我不能让构建失败。
// this will fail
task breakit << {
ant.property(name: "broken", value: "!")
ant.fail(if: 'broken')
}
// this doesn't fail, even though running JUnit against java.lang.String fails.
task breakit << {
ant.junit(failureproperty: 'broken') { test(name: 'java.lang.String') }
ant.fail(if: 'broken')
}
在对ant.fail
的两次调用中,行为应该相同。应该设置属性broken
,但在第二个版本中没有设置。构建响应为:
:breakit
[ant:junit] TEST java.lang.String FAILED
BUILD SUCCESSFUL
使用haltonfailure: 'yes'
也不起作用——构建仍然是成功的。
我如何才能使构建失败?
您使用的是哪种版本的gradle?使用2.2.1版
ant.junit(printsummary: 'on', showoutput: 'yes', haltonfailure: 'no', failureproperty: 'failed', errorproperty: 'errored') {
}
ant.fail(if: 'failed')
ant.fail(if: 'errored')
确实对我有效。你甚至可以通过尝试这个简单的代码来确认:
ant.failed = 'true'
ant.fail(if: 'failed')