在gradle构建中失败的ant.junit

时间:2014-11-11 04:52:16

标签: ant gradle

我正在写一个代表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'也不起作用 - 构建仍然成功。

如何在破坏的测试中构建失败?

1 个答案:

答案 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')