我希望能够在我的android项目的库模块中使用通用测试代码,以便项目中的不同应用程序可以使用它们。
问题是,应用无法从<library>/src/androidTest/java
导入类,如果我将代码移到src\main
,则必须将依赖项从androidTestCompile
移至compile
(更多依赖于发布版本)。
现在唯一的解决方案是创建一个单独的库来保存共享的测试类,但是这有一个缺点就是在项目结构中添加一个新的库,这不是什么大不了的事,但是我不知道。尽管如此,还是知道是否有更好的解决方案。
如果有任何Gradle(Android插件)向导可以帮我找到一个,我宁愿在这一点上实现Gradle hack。
答案 0 :(得分:0)
由于我没有答案,所以不妨回答自己的问题。
我最终使用了我已经在问题中提到的解决方案:
在src / main下创建一个包含共享测试类(不是实际的测试用例,但要在最终用例中使用的通用代码)的库,并使用androidTestCompile
或androidTestImplementation
导入它以用于最新的gradle版本
有不涉及添加模块的解决方案吗?我不会接受我自己的答案,因为它不能完全回答问题。
答案 1 :(得分:0)
如果您具有可以在多个模块中重复使用的代码(测试或其他代码),那么正确的做法就是完成您的工作:将其放入自己的模块中,然后将其导入其他模块中。
创建新模块的少量开销为您提供了很多功能。它使您可以管理其构建,而不必更改每个从属模块的构建。
我尝试过的任何其他选择(例如,创建一个包含所有模块测试的模块)最终都将带来更大的麻烦和一场依赖梦。