调试模式下单元测试已终止。

9

我正在使用Windows 7和Windows 10 Pro下的IntelliJ IDEA 15.0.2(社区版),Gradle 2.9,JDK 1.7.0_65。这些都是在VMware Workstation 11.1.3虚拟机中的操作系统中安装的。

我创建了一个Android Gradle应用程序,其中包含单个空活动,并希望检查单元测试支持的工作原理。IDE创建了一个名为ApplicationTest.java的单元测试模块,其中仅包含构造函数。右键单击[java]文件夹后,我创建了“全局配置”JUnit3测试配置。

如果我运行测试,它们会成功完成,但是如果我调试该配置,则会失败。故障原因显示为“已终止”(截图IDEA日志),文档中解释为“测试被终止。这个状态是分配给通过点击停止按钮取消的测试。”只是想确认我没有点击停止按钮。

Logcat记录不报告任何失败,IDEA日志也报告了2个测试通过。但是问题仍然存在,因为IntelliJ仍然报告终止。

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

经过一些研究,我发现了类似的问题,但没有提供实际解决方案。我强烈怀疑这是配置问题。

我做错了什么?


请参见相关https://stackoverflow.com/a/63678543/448779-可能有所帮助。 - foo
4个回答

2
在我的公司的情况下,解决方法是:
  1. 打开Edit Configuration...,选择 All tests(或者你重命名后的名称)。
  2. 切换到 Debugger 选项卡。
  3. 最后,在 Debug mode 下拉框中选择 Java 选项,因为:
    • 尽管我们有很多本地代码, 但Android Studio 3.2.1(我们正在使用的版本)似乎不支持同时调试两种代码(但Java模式工作正常)。

请注意:从Android-studio 3.2.1直到Android-studio 2022.x版本,以上内容是适用的,但在某些更新版本中可能不需要此步骤。


兄弟,我已经为这个问题纠结了几个小时了。一开始以为是内存相关的原因导致崩溃,所以改变了虚拟机选项,做了很多关于增加内存使用的调整。但后来发现那并不是问题所在。你的建议真的救了我一命。谢谢!!! - Burak

0
Gabor的建议似乎为我解决了这个问题。在Mac上(我认为在Windows机器上也是如此,但需要不同的路径),请转到“首选项”:
从顶部菜单栏中选择Android Studio → Preferences
⌘和,直接跳转到它。
然后在菜单搜索框中键入“instant”。取消“启用即时运行...”复选框的选中状态,其外观如下图所示。

enter image description here

这对我很有帮助;甚至不需要重新启动/终止 ADB。
它似乎默认启用,并且我经常在开发过程中使用它来热插拔更改,因此我没有想到在运行 Espresso 测试时关闭它。

2
我不确定在Windows操作系统下的Android Studio中是否有相应的选项,但是原始问题是关于IntelliJ IDEA的,它没有“即时运行”开关。 - Andriy

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

-1
为了解决调试模式下的单元测试问题,我在Android Studio资源管理器中删除了所有测试文件夹,然后在build.gradle(module)文件中注释掉了三行测试实现代码。接着,我将Android Studio菜单栏(IDE顶部)中的组合框从“全部应用”更改为“应用程序”。

https://istack.dev59.com/alPrS.webp


感谢您的建议。请注意,原问题是关于IntelliJ IDEA的,因此这个解决方案不适用。 - Andriy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接