Gradle多项目 - 在模块之间共享测试代码

10

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

ProjectB 有一个名为 TestB 的测试,需要继承自 TestA,以满足这个具体实现的测试要求。

我已将 ProjectA 添加到 ProjectBbuild.gradle 配置文件中,作为依赖项进行编译测试:

testCompile project(':ProjectA')

此外,作为依赖编译:

compile project(':ProjectA')

虽然我可以从TestA扩展,但当我尝试运行TestB时,我会得到下一个错误:

error: cannot find symbol class TestA

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

谢谢。


你在根项目的设置文件中添加了include吗? - Daniel
你的意思是在顶层 build.gradle 中定义了这两个模块作为依赖项吗?如果是的话,是的,我已经这样做了。 - Víctor Albertos
项目B的settings.gradle文件应该包含类似于include ':projectA'的内容。 - Daniel
1个回答

4

此问题中所提到的,您应该这样添加测试源的依赖:

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

你能否举个使用Kotlin编写androidTest的例子? - B W
这是不正确的:
  1. 第二行意味着第一行; 你不需要两个。
  2. 这将导致来自projectA的测试也在此项目中运行。
- David Nelson
将示例更新到最新的Gradle版本? - kylie.zoltan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接