我在Gradle中完成了这种分离,但是对于一个纯Java项目而不是Android.您没有在源集中指定类路径,我认为这是问题.这是build.gradle的相关部分:
sourceSets {
integration {
java {
compileClasspath += main.output + test.output
runtimeClasspath += main.output + test.output
srcDir file('src/integration/java')
}
resources {
srcDir 'src/integration/resources'
}
}
}
configurations {
integrationCompile.extendsFrom testCompile
integrationRuntime.extendsFrom testRuntime
}
task integrationTest(group: "verification", type: Test) {
testClassesDir = sourceSets.integration.output.classesDir
classpath = sourceSets.integration.runtimeClasspath
}
integrationTest.dependsOn testClasses
如果IntelliJ想法具有标准名称(java,资源),则会在src / integration下拾取文件夹.