【问题标题】:Gradle multi project - sharing test code between modulesGradle 多项目 - 在模块之间共享测试代码
【发布时间】:2016-10-19 21:05:34
【问题描述】:

ProjectA 包含一个抽象单元测试,TestA

ProjectB 有一个名为TestB 的测试,它需要从TestA 扩展,以满足此特定实现的测试要求。

我已经在ProjectBProjectA上添加了build.gradle配置文件作为依赖编译测试:

testCompile project(':ProjectA')

另外,作为依赖编译:

compile project(':ProjectA')

虽然我能够从 TestA 扩展,但当我尝试运行 TestB 时,我收到下一个错误:

error: cannot find symbol class TestA

那么,有没有办法在模块之间共享测试代码?

谢谢。

【问题讨论】:

  • 你是否在根项目的设置文件下添加了include?​​span>
  • 你的意思是,如果在顶层 build.gradle 被定义为依赖两个模块?如果是这样,是的,我做到了。
  • 项目 B 的 settings.gradle 文件应该包含类似 include ':projectA' 的内容。

标签: java android gradle


【解决方案1】:

正如question 中提到的,您应该像这样添加对测试源的依赖:

compileTestJava.dependsOn tasks.getByPath(':projectA:testClasses')
testCompile files(project(':projectA').sourceSets.test.output.classesDir)

【讨论】:

  • 你能举例说明如何使用 kotlin 为 androidTests 执行此操作吗?
  • 这是不正确的:1)第二行暗示第一行;你不需要两者。 2) 这将导致 projectA 的测试也在这个项目中运行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-13
  • 2012-11-11
  • 1970-01-01
  • 2021-06-01
  • 1970-01-01
  • 2020-02-01
  • 2017-07-16
相关资源
最近更新 更多