使用junit5自定义构建任务

时间:2018-04-29 22:59:40

标签: gradle

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

test {
    useJUnitPlatform()
    failFast = true
}

我还有@Tag("slow")一些我有时想跳过的测试,所以我有一个新任务testFast来跳过这些测试:

task testFast(type: Test) {
    useJUnitPlatform {
        excludeTags 'slow'
    }
}

大。所以现在我想要一个额外的build命令,它执行与常规构建命令相同的步骤,但用test命令替换正常的testFast步骤。我该怎么做?

task buildFast(dependsOn: 'build') {
    // TODO replace the test task with testFast
}

1 个答案:

答案 0 :(得分:0)

您可以通过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
}