Android Studio 3不会在Spock中运行测试

le0*_*das 7 groovy gradle spock android-studio android-studio-3.0

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

找不到类:" package.name.classname "空的测试套件."

如果我尝试运行单个测试,则相同.

如果我从gradle面板运行测试任务,我会得到: 错误.原因:未知.


另一方面:

  • Android模块中的任何spock测试运行正常.
  • 我所有模块中的所有java测试运行正常.
  • 当我使用gradle (gradlew clean test)从AS外部运行它们时,我的所有测试(spock和java)运行正常.

我的设置:


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

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

Tro*_*ick 3

因此,这更像是一种解决方法,而不是实际的解决方案,但它应该为您的调试器返回值,无论如何,这可能是 90% 的值:

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

./gradlew <module>:test --debug-jvm
Run Code Online (Sandbox Code Playgroud)

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

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

附加到本地进程...

Android Studio 连接后,测试将开始运行。

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

./gradlew <module>:test --tests fully.qualified.test.Test --debug-jvm
Run Code Online (Sandbox Code Playgroud)