我在AndroidStudio项目中添加了两个模块:
app-base
|
|----src
|____androidTest
|________MyTestBase.java
app
|
|----src
|____androidTest
|________MyTest.java
一些常见的测试类在app-base的androidTest中定义,并在app'androidTest中使用。
我试图在应用程序的build.gradle中添加以下代码:
evaluationDependsOn(':app-base')
compile project(':app-base')
androidTestCompile project(':app-base')
我在settings.gradle中同时包含了应用库和应用程序, gradlew项目的输出为:
Root project 'MyProject'
+--- Project ':app-base'
+--- Project ':app'
这样就没有编译错误,但是当我在ide中运行MyTest时,它说找不到MyTestBase类。
你知道怎么了吗任何想法表示赞赏。谢谢。
最佳答案
我一直在寻找解决方案,终于找到了对我有用的东西。
这将使您可以将常见的测试类放在另一个模块中。
android {
...
sourceSets {
androidTest.java.srcDirs += ["${project('match the module name that is currently in the dependencies').projectDir}/src/androidTest/java"]
}
}
因此,对于上面的示例,它可能看起来像
androidTest.java.srcDirs += ["${project(':appbase').projectDir}/src/androidTest/java"]