multidex应用程序上的connectedAndroidTest找不到任何测试

时间:2017-08-11 08:18:26

标签: android testing android-gradle android-espresso

我正在尝试自动化我的构建,并使我们的验收测试成为其中的一部分。

不幸的是,gradle任务connectedAndroidTest正在报告

  

在Nexus_5X_API_25(AVD)上开始0测试 - 7.1.1

     

com.android.builder.testing.ConnectedDevice>未找到测试。[Nexus_5X_API_25(AVD) - 7.1.1]失败。
  没有找到测试。这通常意味着您的测试类不是您的测试运行器期望的形式(例如,不从TestCase继承或缺少@Test注释)。

当我从IDE运行测试/套件时,这不会发生 我发现Android Studio正在执行以下命令:

$ adb push /path/to/apk/app-debug.apk /data/local/tmp/com.MyApp
$ adb shell pm install -r "/data/local/tmp/com.MyApp"

$ adb push /path/to/apk/app-debug-androidTest.apk /data/local/tmp/com.MyApp.test
$ adb shell pm install -r "/data/local/tmp/com.MyApp.test"

$ adb shell am instrument -w -r  -e debug false -e class com.myapp.TestSuite com.MyApp.test/com.myapp.testrunners.CreationInterceptingTestRunner

我知道这些命令的作用但是我不知道connectedAndroidTest在幕后做了什么,以及为什么它失败了。

我发现问题与multidex有关。在official page about enabling multidex的末尾,它显示为:

  

注意:
   *不要使用不推荐使用的MultiDexTestRunner;请改用AndroidJUnitRunner    *目前不支持使用multidex创建测试APK。

我不明白create test APK的含义以及adb命令的工作原理 我不想手动运行adb命令,因为它们没有内置报告,我需要自己完成这些操作。

有没有办法将connectedAndroidTest用于multidex应用程序?

0 个答案:

没有答案