我想将systest sourceSet的类标记为单元测试类。我试图用以下代码标记它们:
sourceSets {
main {
groovy {
srcDirs = [
'src/main/masks'
}
resources {
srcDirs += 'src/main/journaltemplates'
}
}
/* This brings up systest in the test resources */
test.java.srcDir 'src/systest/java'
test.resources.srcDir 'src/systest/resources'
systest {
java {
srcDirs = ['src/systest/java']
}
resources {
srcDirs = ['src/systest/resources']
}
}
}
使用此解决方案,源集被标记为单元测试类,但又被添加到不需要的测试sourceSet中。我想将这些类保留在systest sourceSet中,并指定systest sourceSet是一个单元测试sourceSet。我希望systest sourceSet与测试sourceSet具有相同的行为,但它们应该是不同的sourceSet。
我尝试的第二个解决方案是使用idea插件进行gradle并修改模块设置,如in this SO post所示:
idea {
module {
testSourceDirs += file('src/systest')
}
}
此解决方案的问题是systest源也被添加到测试sourceSet中。
希望这已经足够清楚了,否则请发表评论。谢谢。
最佳答案
请尝试以下配置:
apply plugin: "idea"
sourceSets {
systest {
java {
compileClasspath = test.output + main.output
runtimeClasspath = output + compileClasspath
}
}
}
idea {
module {
testSourceDirs = sourceSets.systest.allSource.srcDirs
}
}