Java 单元测试在调试模式下终止

Java 单元测试在调试模式下终止,java,android,unit-testing,intellij-idea,Java,Android,Unit Testing,Intellij Idea,我在Windows7和Windows10Pro、Gradle2.9、JDK1.7.0@65下使用IntellijIDEA 15.0.2(社区版)。在VMware Workstation 11.1.3下作为来宾安装的操作系统 我已经用一个空活动创建了Android Gradle应用程序,希望检查单元测试支持是如何工作的。IDE创建了一个单元测试模块ApplicationTest.java,它只包含构造函数。右键单击[java]文件夹,我创建了“模块中的全部”JUnit3测试配置 当我运行测试时,测

我在Windows7和Windows10Pro、Gradle2.9、JDK1.7.0@65下使用IntellijIDEA 15.0.2(社区版)。在VMware Workstation 11.1.3下作为来宾安装的操作系统

我已经用一个空活动创建了Android Gradle应用程序,希望检查单元测试支持是如何工作的。IDE创建了一个单元测试模块ApplicationTest.java,它只包含构造函数。右键单击[java]文件夹,我创建了“模块中的全部”JUnit3测试配置

当我运行测试时,测试成功完成,但是如果调试配置,测试将失败。故障原因为“终止”(,),在文档中解释为“测试终止”。此状态分配给通过单击“停止”按钮取消的测试。我只是想确认我没有点击停止按钮

Logcat日志不报告任何故障,IDE日志也报告通过了2个测试。但问题仍然存在,因为IntelliJ仍报告终止

有时我也会遇到“测试框架意外退出”错误,并且没有测试成功

我做了一些研究,发现了类似的问题,没有提到真正的解决方案。强烈怀疑这是一个配置问题


我做错了什么?

加博的建议似乎为我解决了这个问题。在Mac电脑上(我想是在Windows电脑上,但使用不同的路径)转到首选项:

从顶部的菜单栏Android Studio→ 首选项

点击⌘ 然后,直接跳到它

然后在菜单搜索框中键入“instant”。取消选中“启用即时运行…”框,如下图所示

为我修好了它;甚至不需要重新启动/关闭ADB


它似乎是默认启用的,我经常在开发过程中使用它来热交换更改,所以我没有想到在运行Espresso测试时关闭它。

为了在调试模式下消除单元测试问题,我删除了android studio explorer中的所有测试文件夹,然后在build.gradle(module)文件中注释了三行测试实现。然后,我将android studio菜单(IDE顶部)中的组合框从“应用程序中的所有内容”更改为“应用程序”

在我们的案例中,修复程序(在较新的Android版本中可能不需要)是:

  • 打开所有测试的
    编辑配置…
    (或您将其重命名为的内容)
  • 切换到调试器选项卡
  • 最后,在
    Debug mode
    组合框中,选择
    Java
    选项,因为:
    • 虽然我们有很多本地代码, androidstudio3.2.1(我们使用的)似乎不支持两者的调试(但只有Java模式可以正常工作)

  • 在我的情况下,可以通过在测试的运行配置中设置来解决问题:
    缩短命令行->JAR清单。

    我不确定Windows操作系统下Android Studio中的相应选项,但最初的问题是关于IntelliJ IDEA的,它没有“即时运行”开关谢谢您的建议。请注意,最初的问题是关于IntelliJ IDEA的,因此此解决方案不适用请参阅相关内容-可能会有所帮助。