对于棒棒糖及以上

时间:2015-12-02 12:26:34

标签: 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]失败

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

1 个答案:

答案 0 :(得分: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'