我的基于 Espresso 的仪器化测试在 Lollipop+ 设备和模拟器上无法运行。它们可以在任何其他平台上正确运行。我和这个帖子中的人有相同的症状-https://groups.google.com/forum/?fromgroups#!topic/adt-dev/QW5SuzQizNk
- 我的测试位于 src/androidTest/java/
- 我已将 testInstrumentationRunner 设置为 'android.support.test.runner.AndroidJUnitRunner'
- 测试类为 @RunWith(AndroidJUnit4.class)
- 各个测试都标注了 @Test
我可以执行 ./gradlew connectedCheck 命令,测试可以在装有 KitKat 的设备上正常运行,但是当我尝试在装有 Lollipop 的设备上以相同的方式运行相同的测试时,出现如下错误...
15:02:15.784 [WARN] [org.gradle.api.Task] XT1095 - 5.1 上的测试失败:由于“java.lang.NoClassDefFoundError”,仪器化运行失败
15:02:16.011 [WARN] [org.gradle.api.Task] com.android.builder.testing.ConnectedDevice > 找不到测试[XT1095 - 5.1] 失败
15:02:16.011 [WARN] [org.gradle.api.Task] 找不到测试。这通常意味着您的测试类不符合测试运行程序的形式(例如,没有继承自 TestCase 或缺少 @Test 注释)。