gradle - 使用junit5自定义构建任务

标签 gradle

使用gradle和junit 5设置常规的build命令以运行所有测试:

test {
    useJUnitPlatform()
    failFast = true
}

我还用@Tag("slow")有时要跳过的一些测试,因此我有一个新任务testFast来跳过这些测试:
task testFast(type: Test) {
    useJUnitPlatform {
        excludeTags 'slow'
    }
}

大。因此,现在我需要一个附加的build命令,该命令执行与常规build命令相同的步骤,但用test命令替换了常规的testFast步骤。我该怎么做呢?
task buildFast(dependsOn: 'build') {
    // TODO replace the test task with testFast
}

最佳答案

您可能可以通过TaskExecutionGraph完成此操作

task buildFast(dependsOn: 'build') { 
    // no body required 
} 
gradle.taskGraph.whenReady {
    boolean fast = gradle.taskGraph.hasTask('buildFast')
    project.tasks['test'].enabled = !fast
    project.tasks['testFast'].enabled = fast
} 

关于gradle - 使用junit5自定义构建任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50092090/

相关文章:

java - 对于某些任务,Gradle 执行会卡住 3 分钟

android - 由于 gradle 错误,无法启动新项目

java - gradle包括另一个项目的库

android - Android Studio:从构建中排除gradle任务

gradle - 定义 Gradle Wrapper 的路径

Android Studio - 如何压缩对齐 apk

gradle - 从JOOQ Code Gen Config xml中的属性文件读取值

android - Android Gradle插件3.0.0-beta2-ZLIB输入流意外结束

android - 如何在Android Studio中解决此构建问题(aapt2文件不存在)?

security - 如何在不对它们进行硬编码的情况下从 buildscript 发送 Artifactory 发布凭据?