比方说,我的项目有2个模块,API,核心和存储,我想为核心编写一些E2E测试。我的意图是测试的最终结构是:
root
+- core
+-src
+-e2e
+-java
gradle是否有可能,或者我唯一的选择就是将这些测试作为根项目的一部分?
答案 0 :(得分:1)
是的,为什么没有可能。有很多例子。最简单的解决方案是定义一个新的sourceSet
并向其中添加一个Test任务。
sourceSets {
e2e {
java {
compileClasspath += sourceSets.main.output + sourceSets.test.output
runtimeClasspath += sourceSets.main.output + sourceSets.test.output
srcDir file('src/e2e/java')
resources.srcDir file('src/e2e/resources')
}
}
}
task e2eTest(type: Test) {
testClassesDirs = sourceSets.e2e.output.classesDirs
classpath = sourceSets.e2e.runtimeClasspath
}