对于Lollipop及以上的仪器测试,"没有测试结果"

Mar*_*usz 12 android android-testing android-espresso android-instrumentation

我的基于仪器(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] FAILED

15:02:16.011 [警告] [org.gradle.api.Task]未找到测试.这通常意味着您的测试类不是您的测试运行器期望的形式(例如,不从TestCase继承或缺少@Test注释).

Mar*_*usz 4

终于开始工作了。我遵循了这个答案: https://groups.google.com/d/msg/adt-dev/QW5SuzQizNk/mWdaEuuCCQAJ ,链接到: https://github.com/google/dagger/issues/271

基本上这是问题所在:

我错误地使用了编译'com.google.dagger:dagger-compiler:2.0.2'

而不是正确的 apt 'com.google.dagger:dagger-compiler:2.0.2'