单元测试在调试模式

时间:2016-01-12 17:54:44

标签: java android unit-testing intellij-idea

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

我创建了具有单个空活动的Android Gradle应用程序,并想检查单元测试支持的工作原理。 IDE创建了一个单元测试模块ApplicationTest.java,它只包含构造函数。右键单击我创建的[java]文件夹' All in Module' JUnit3测试配置。

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

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

有时我也会在测试框架中意外退出'错误,没有测试成功。

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

我做错了什么?

4 个答案:

答案 0 :(得分:2)

Gabor的建议似乎为我解决了这个问题。在Mac上(我假设在Windows机器上,但有不同的路线到达那里)转到首选项:

从顶部的菜单栏 Android Studio→偏好设置

点击⌘和直接跳转到它。

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

enter image description here

为我修好了;甚至不需要重启/杀死亚行。

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

答案 1 :(得分:0)

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

https://i.stack.imgur.com/alPrS.png

答案 2 :(得分:0)

我的解决方法是:

  1. 打开20 5 10的{​​{1}}(或将其重命名为的内容)。
  2. 切换到Edit Configuration...标签。
  3. All tests组合中,选择Debugger选项:
    • 尽管我们有很多本地代码, 让我们在调试集成测试时尝试不调试它们;-)

注意:我们使用Android-studio 3.2.1及更高版本,在新版本中可能不需要。

答案 3 :(得分:0)

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