我正在写一个代表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'
也不起作用 - 构建仍然成功。
如何在破坏的测试中构建失败?
答案 0 :(得分:0)
您使用的是哪个版本的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')