ant - gradle build 中的 ant.junit 失败

标签 ant gradle

我正在编写一个委托(delegate)给 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')

关于ant - gradle build 中的 ant.junit 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26857729/

相关文章:

Android 在构建 apk 时选择资源

java - Netbeans 从 github 导入项目

android - 使用 android studio 与 ./gradlew assemble[FlavourName]Release 生成 flavor 签名 APK 提供不同的结果

java - 使用 Java 12 和 Gradle 进行测试不起作用

java - 将参数从 build.xml 传递到 java 文件

java - 如何使用 ant-javac 仅清理 destDir 中不再位于源目录中的文件

tomcat - 使用 Ant 部署到 Geronimo

java - gradle - "compileJava"因为 "UP-TO-DATE"而没有编译 Java?

gradle - 为什么gradle exec无法与脚本一起使用?

android - 如何从 Android 中的另一个模块获取 BuildConfig.VERSION_NAME?