在模块之间共享测试类

时间:2018-05-23 10:26:58

标签: android android-gradle android-testing

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

问题是,应用无法从<library>/src/androidTest/java导入类,如果我将代码移到src\main,则必须将依赖项从androidTestCompile移至compile (更多依赖于发布版本)。

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

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

2 个答案:

答案 0 :(得分:0)

由于我没有答案,所以不妨回答自己的问题。

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

在src / main下创建一个包含共享测试类(不是实际的测试用例,但要在最终用例中使用的通用代码)的库,并使用androidTestCompileandroidTestImplementation导入它以用于最新的gradle版本

有不涉及添加模块的解决方案吗?我不会接受我自己的答案,因为它不能完全回答问题。

答案 1 :(得分:0)

如果您具有可以在多个模块中重复使用的代码(测试或其他代码),那么正确的做法就是完成您的工作:将其放入自己的模块中,然后将其导入其他模块中。

创建新模块的少量开销为您提供了很多功能。它使您可以管理其构建,而不必更改每个从属模块的构建。

我尝试过的任何其他选择(例如,创建一个包含所有模块测试的模块)最终都将带来更大的麻烦和一场依赖梦