INSTRUMENTATION_RESULT:运行Android Instrumentation测试的shortMsg = java.lang.NoClassDefFoundError

And*_*zie 3 testing android

当我尝试在新的4.4设备上运行我的Android Instrumentation测试时,会发生此错误,当他们过去一直工作时

[echo] Running tests...
[echo] Running tests ...
[exec] INSTRUMENTATION_RESULT: shortMsg=java.lang.NoClassDefFoundError
[exec] INSTRUMENTATION_RESULT: longMsg=java.lang.NoClassDefFoundError: org.mockito.internal.runners.RunnerImpl
[exec] INSTRUMENTATION_CODE: 0
Run Code Online (Sandbox Code Playgroud)

And*_*zie 10

我发布了这个问题,以帮助其他人避免像我一样愚蠢地浪费时间!

问题是,当我将Nexus 4升级到Android 4.4 Kitkat时,我决定在开发人员的选项设置菜单中激活新的Android RunTime(ART).

结果就是这样!

要运行仪器测试,请切换回Dalvik!

我正在使用Mockito,Dexmaker和Dexmaker-Mockito来与Mockito一起运行仪器测试,并使用Emma获取覆盖数据.

毫无疑问,将来需要更新或改变方法来测试Dalvik和/或ART.