【发布时间】:2020-05-27 23:06:36
【问题描述】:
我们有一个多模块 Android 项目,其中一些模块包含 UI 测试,一些包含单元测试。我们希望使用单个 Gradle 命令从所有模块运行所有 UI 测试,并对单元测试执行相同的操作。
我们发现这样做的唯一方法是在实现所有其他子模块的主 app 模块中使用以下配置(基本上使 app 模块了解所有其他 androidTest 和 @ 987654324@项目中的文件夹):
app/build.gradle:
sourceSets {
androidTest.java.srcDirs += ["${project(':feature-login').projectDir}/src/androidTest/java"]
test.java.srcDirs += ["${project(':feature-login').projectDir}/src/test/java"]
test.java.srcDirs += ["${project(':core').projectDir}/src/test/java"]
}
然后我们运行以下 Gradle 命令:
./gradlew app:connectedDemoDebugAndroidTest
./gradlew app:testDemoDebugUnitTest
问题:是否有更好/更简单的方法来实现这一目标?或者有没有办法从上述解决方案动态添加androidTest 和test 文件夹(使用相对路径),而不必为每个模块编写srcDirs 行(我们有40多个模块) ?
【问题讨论】:
标签: android unit-testing testing gradle android-gradle-plugin