Java 将验收测试作为单独的Gradle任务运行

Java 将验收测试作为单独的Gradle任务运行,java,gradle,kotlin,gradle-kotlin-dsl,spek,Java,Gradle,Kotlin,Gradle Kotlin Dsl,Spek,我正在尝试为我的项目配置带有Kotlin DSL的Gradle。它由两个模块组成。模块A是一个简单的Java11应用程序。模块B包含使用Spek以Kotlin编写的验收测试 我想配置gradle,以便gradle测试不运行验收测试,并且这些测试仅与任务gradle acceptanceTest一起运行。我尝试了下面的配置和其他不同的过滤器,包括和排除,但没有运气。我错过了什么 tasks.withType<Test> { println("always printed: co

我正在尝试为我的项目配置带有Kotlin DSL的Gradle。它由两个模块组成。模块A是一个简单的Java11应用程序。模块B包含使用Spek以Kotlin编写的验收测试

我想配置gradle,以便gradle测试不运行验收测试,并且这些测试仅与任务gradle acceptanceTest一起运行。我尝试了下面的配置和其他不同的过滤器,包括和排除,但没有运气。我错过了什么

tasks.withType<Test> {
    println("always printed: configuration phase test")

    useJUnitPlatform()

    filter {
        exclude("acceptance.*")
    }

    doLast {
        println("only printed if executed: execution phase test")
    }

}

val acceptanceTest: Task by tasks.creating(Test::class) {
    println("always printed: configuration phase ac")

    useJUnitPlatform {
        includeEngines("spek2")
    }

    filter {
        include("acceptance.*")
    }

    doLast {
        println("only printed if executed: execution phase ac")
    }
}

过滤器是不必要的。我只是把验收测试任务放错地方了。。。移动到验收模块后,它将按预期工作。

不需要过滤器。我只是把验收测试任务放错地方了。。。移动到验收模块后,它将按预期工作