![](/img/trans.png)
[英]Run specific @BeforeClass only when starting unit tests in debug mode?
[英]Unit tests terminated in Debug mode
我在 Windows 7 和 Windows 10 Pro、Gradle 2.9、JDK 1.7.0_65 下使用 IntelliJ IDEA 15.0.2(社区版)。 在 VMware Workstation 11.1.3 下作为来宾安装的操作系统
我创建了具有单个空活动的 Android Gradle 应用程序,并想检查单元测试支持的工作原理。 有一个由 IDE 创建的单元测试模块 ApplicationTest.java,它只包含构造函数。 右键单击 [java] 文件夹,我创建了“All in Module”JUnit3 测试配置。
当我运行它们时测试成功完成,但是如果我调试配置则失败。 失败原因是“已终止”(屏幕截图, IDEA 日志),在文档中解释为“测试已终止”。 此状态分配给通过单击“停止”按钮取消的测试。 只是想确认我没有单击“停止”按钮。
Logcat 日志不报告任何失败,IDE 日志报告也通过了 2 个测试。 但是问题仍然存在,因为 IntelliJ 仍然报告终止。
有时我还会收到“测试框架意外退出”错误并且没有测试成功。
我做了一些研究并发现了类似的问题,但没有提到真正的解决方案。 强烈怀疑这是配置问题。
我做错了什么?
在我的情况下,通过在测试的运行配置中设置来解决问题:缩短命令行 -> JAR 清单。
为了摆脱调试模式下的单元测试问题,我删除了 android studio 资源管理器中的所有测试文件夹,然后在 build.gradle(module) 文件中注释了三个测试实现行。 然后我将 android studio 菜单(IDE 顶部)中的组合框从“所有应用程序”更改为“应用程序”。
在我们的案例中,修复(在较新的 Android 版本中可能不需要)是:
Edit Configuration...
用于All tests
(或您将其重命名为的内容)。Debugger
选项卡。Debug mode
组合框中,选择Java
选项,因为:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.