我的基于仪器的(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 [警告] [org.gradle.api.Task] com.android.builder.testing.ConnectedDevice > 未找到测试。[XT1095 - 5.1] 失败
15:02:16.011 [警告] [org.gradle.api.Task] 未找到测试。这通常意味着您的测试类不是您的测试运行程序所期望的形式(例如,不要从 TestCase 继承或缺少 @Test 注释)。