【发布时间】:2015-03-14 15:22:52
【问题描述】:
我们有一个库项目,多个应用程序都依赖于它。单元测试在库项目中。 我们能够在 Android Studio 中运行依赖项目的测试,但是
./gradlew :[DependentProject]:connectedAndroidTest
总是返回“未找到测试,无事可做”。
通过观察,我在Android Studio中发现,似乎只执行gradle任务:
:[DependentProject]:assembleDebug, :[DependentProject]assembleDebugTest
然后使用 adb 安装目标和测试 apk,并使用 adb shell am 仪器运行测试。
由于connectedAndroidTest依赖于这两个任务,我安装了target并测试了它产生的apk,并手动调用了instrument命令,测试就开始了。
adb shell am instrument -w com.package.test/android.test.InstrumentationTestRunner
那么问题来了,connectedAndroidTest在哪里寻找测试,为什么找不到测试而adb Instrument可以?如何解决这个问题?
【问题讨论】:
-
当我收到未找到测试错误时,通常拔下并重新插入设备会修复它。 (蹩脚,但这正是我所观察到的)
-
另外,我们使用“gradle connectedCheck”命令为我们的多库项目运行所有构建
-
您能发布您的 Gradle 构建配置吗?你有一个块来定义你的测试和java在哪里吗? : sourceSets { main {....} androidTest {.....} }
-
您是否为仪器测试启用了 proguard?
标签: android gradle android-studio android-gradle-plugin android-testing