运行 验收测试作为单独的 Gradle 任务
Run Acceptance tests as a separate Gradle task
我正在尝试为我的项目配置 Gradle with Kotlin DSL
。它由两个模块组成。 模块 A 是一个简单的 Java 11
应用程序。 模块 B 包含使用 Spek
.
在 Kotlin
中编写的验收测试
我想配置 gradle 以便 gradle test
不会 运行 验收测试,并且这些测试 运行 仅用于任务 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")
}
}
过滤器是不必要的。我只是在错误的地方执行了 acceptanceTest
任务...移动到 acceptance
模块后,它按预期工作。
我正在尝试为我的项目配置 Gradle with Kotlin DSL
。它由两个模块组成。 模块 A 是一个简单的 Java 11
应用程序。 模块 B 包含使用 Spek
.
Kotlin
中编写的验收测试
我想配置 gradle 以便 gradle test
不会 运行 验收测试,并且这些测试 运行 仅用于任务 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")
}
}
过滤器是不必要的。我只是在错误的地方执行了 acceptanceTest
任务...移动到 acceptance
模块后,它按预期工作。