【问题标题】:Android Studio 3 does not run tests in SpockAndroid Studio 3 不在 Spock 中运行测试
【发布时间】:2018-04-07 22:05:33
【问题描述】:

我将 Android Studio 更新到版本 3,从那时起,我所有的 spock 测试,在 java 模块中,在尝试从应用程序内部运行它们时都不会运行(右键单击 groovy 文件夹 - > 运行“常规测试”)。我得到一个:

找不到类:“package.name.classname“空测试套件。”

如果我尝试运行单个测试也是如此。

如果我从 gradle 面板运行 test 任务,我会得到: error. Cause: unknown.


另一方面:

  • android 模块中的任何 spock 测试都运行良好。
  • 我所有模块中的所有 java 测试都运行良好。
  • 我的所有测试(spock 和 java)在使用 gradle 从外部 AS 运行时运行良好(gradlew clean test)

我的设置:


在谷歌和这里搜索后我尝试了一些事情:

  • 将 android gradle 插件改回 v2.3.3 并将 gradle 改回 v3.3
  • 试图将所有 groovy 类复制到 build/classes/java/test

【问题讨论】:

  • 澄清一下,您是否在 src/test/groovysrc/test/java 中进行了 spock 测试?
  • src/test/groovy.
  • 我在 google 问题跟踪器中找到了 this issue,其中包含一个临时解决方法。我试过了,它也对我有用,导致记者遇到同样的问题:class already exists.
  • @le0nidas,我建议您在问题上加注星标以标记您受到它的影响
  • 我不知道我能做到这一点。谢谢。

标签: android-studio gradle groovy spock android-studio-3.0


【解决方案1】:

所以这更像是一种解决方法,而不是实际的解决方案,但它应该会给你的调试器返回,这可能是价值的 90%:

您可以像这样运行您的测试套件:

./gradlew <module>:test --debug-jvm

运行测试的 jvm 将暂停,直到附加调试器。

在 Android Studio 中,按 ctrl + shift + a 调出动作选择器(无论如何,在 linux 上,请检查您的操作系统的等效项)并选择:

附加到本地进程...

一旦附加了 Android Studio,测试就会开始运行。

--debug-jvm 标志可以与--tests 一起使用来调试单个测试:

./gradlew <module>:test --tests fully.qualified.test.Test --debug-jvm

【讨论】:

  • cmd + shift + a 在 Mac 上
猜你喜欢
  • 2014-09-28
  • 1970-01-01
  • 2017-06-13
  • 1970-01-01
  • 2019-12-01
  • 2016-12-12
  • 1970-01-01
  • 1970-01-01
  • 2014-08-02
相关资源
最近更新 更多