首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级到Java 8和构建工具版本25之后,Android测试用例失败

升级到Java 8和构建工具版本25之后,Android测试用例失败
EN

Stack Overflow用户
提问于 2016-11-03 18:27:40
回答 1查看 705关注 0票数 4

我有一堆测试用例运行良好。但是,一旦我的项目被更新为构建工具版本25,Java更新为JDK1.8,我所有的测试用例都失败了。

当我使用./gradlew cAT运行测试时,会收到错误消息:

由于'java.lang.NullPointerException‘com.android.builder.testing.ConnectedDevice >没有测试found.Nexus 6-6.0.1失败,工具运行失败

Nexus6-6.0.1测试失败:由于“java.lang.ClassNotFoundException”而失败

com.android.builder.testing.ConnectedDevice >没有测试found.Nexus 6-6.0.1失败

我的build.gradle有以下几行:

代码语言:javascript
复制
androidTestCompile 'junit:junit:4.12'
androidTestCompile 'com.android.support.test:runner:0.4'
androidTestCompile 'com.android.support.test:rules:0.4'
androidTestCompile 'com.android.support.test:testing-support-lib:0.1'

知道解决办法是什么吗?

更新:

当我尝试使用./gradlew -cAT -s从gradle运行相同的代码时,我会看到以下异常:

原因: com.android.build.gradle.internal.tasks.DeviceProviderInstrumentTestTask.runTests(DeviceProviderInstrumentTestTask.java:140):org/gradle/logging/ConsoleRenderer at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:228) at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)在org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:621) at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:604) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61) . 68

谷歌告诉我,这可能是2.14级的一个特定问题,但我的测试在同一版本中运行良好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-10 19:39:45

原来,根本原因是我的基本上下文初始化期间的空指针!

我的学识:

  • 不管我们是使用IDE还是gradle来运行测试用例,他们最终都会调用am检测命令(https://developer.android.com/studio/test/command-line.html)。
  • 运行命令亚行外壳工具-w -r -e调试真正的-e类(注意,我已经将调试设置为true)。
  • 同时,让你的亚行逻辑猫运行。这告诉了我为什么会遇到NPE。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40408796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档