我有一个给定的多项目结构:
root
sub1
sub2
sub3
我想以某种方式在根目录下配置所有使用java的项目具有2个单独的任务: 1.单元测试 2.集成测试
每个仅运行具有给定标记的junit5测试(所有源均在src / test / java下,仅通过@Tag进行区分)。
这些项目的“测试”任务也应该作为这两个项目的总和执行(应同时取决于UT和IT任务)。我使用kotlin DSL进行gradle配置。
我尝试将其配置为:
subprojects {
version = "1.0-SNAPSHOT"
val utTask = tasks.create<Test>("unit-test") {
group = LifecycleBasePlugin.VERIFICATION_GROUP
useJUnitPlatform {
includeTags("unit-test")
}
}
val itTask = tasks.create<Test>("integration-test") {
group = LifecycleBasePlugin.VERIFICATION_GROUP
useJUnitPlatform {
includeTags("integration-test")
}
}
tasks.named("test") {
dependsOn(utTask)
dependsOn(itTask)
}
}
在sub1模块中,我的配置如下:
plugins {
java
}
dependencies {
// some dependencies here
}
Gradle给出了错误提示:
在项目':sub1'中找不到名称为'test'的任务。
理想情况下,也应该仅对那些应用了'java'插件的用户进行配置(因此请不要配置非Java模块,即js UI的模块)。
提前谢谢