Android 在模块之间共享测试类

Android 在模块之间共享测试类,android,android-gradle-plugin,android-testing,Android,Android Gradle Plugin,Android Testing,我希望能够在我的android项目的库模块中有通用的测试代码,以便项目中的不同应用程序可以使用它们 问题是,应用程序无法从/src/androidTest/java导入类,如果我将代码处的类移动到src\main,它必须将依赖项从androidTestCompile移动到compile(更多依赖项到发布版本) 目前唯一的解决方案是创建一个单独的库来保存共享的测试类,但是这有一个缺点,就是在项目结构中添加一个新的库,这没什么大不了的,但是我想知道是否有更好的解决方案 如果有任何Gradle(And

我希望能够在我的android项目的库模块中有通用的测试代码,以便项目中的不同应用程序可以使用它们

问题是,应用程序无法从
/src/androidTest/java
导入类,如果我将代码处的类移动到
src\main
,它必须将依赖项从
androidTestCompile
移动到
compile
(更多依赖项到发布版本)

目前唯一的解决方案是创建一个单独的库来保存共享的测试类,但是这有一个缺点,就是在项目结构中添加一个新的库,这没什么大不了的,但是我想知道是否有更好的解决方案


如果有任何Gradle(Android插件)向导能帮我找到一个,我宁愿在这一点上实施Gradle hack。

既然我没有得到答案,我不妨回答我自己的问题

我最终使用了我在问题中提到的解决方案:

在src/main下创建一个带有共享测试类的库(不是实际的测试用例,而是在最终测试用例中使用的公共代码),并使用
androidTestCompile
androidTestImplementation
为最新的gradle版本导入它

有没有一个不需要添加模块的解决方案?我不会接受我自己的答案,因为它不能完全回答问题。

如果您有可以跨多个模块重用的代码(测试或其他),那么适当的做法就是您所做的:将其放入自己的模块中,并将其导入其他模块

创建一个新模块的小开销给了您很大的能量。它允许您管理其构建,而无需更改每个依赖模块的构建

我尝试过的任何其他选项(例如,创建一个包含所有模块测试的单一模块)最终都会成为一个更大的难题和依赖性噩梦