gradle项目子模块中的E2E测试

时间:2018-09-04 11:27:34

标签: gradle continuous-integration automated-tests

比方说,我的项目有2个模块,API,核心和存储,我想为核心编写一些E2E测试。我的意图是测试的最终结构是:

root
  +- core
       +-src
          +-e2e
              +-java

gradle是否有可能,或者我唯一的选择就是将这些测试作为根项目的一部分?

1 个答案:

答案 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
}