android-studio - Android Studio 3 不在 Spock 中运行测试

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

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

Class not found: "package.name.classname"Empty test suite."



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

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

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


  • 我的设置:
  • 毕业 v4.1
  • 安卓 gradle 插件 v3.0.0
  • java版本兼容性 v1.8
  • 在我的 java 模块中,我使用 gradle groovy plugin
  • 在我的 android 模块中,我使用 groovy android gradle plugin


  • 在谷歌和这里搜索后我尝试了一些事情:
  • 将 android gradle 插件改回 v2.3.3 并将 gradle 改回 v3.3
  • 试图将所有 groovy 类复制到 build/classes/java/test
  • 最佳答案

    所以这比实际解决方案更像是一种解决方法,但它应该给你你的调试器,无论如何这可能是值(value)的 90%:

    您可以运行您的测试套件,如:

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

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

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

    Attach to local process...



    附加 Android Studio 后,测试将开始运行。
    --debug-jvm标志可与 --tests 一起使用调试单个测试:
    ./gradlew <module>:test --tests fully.qualified.test.Test --debug-jvm
    

    关于android-studio - Android Studio 3 不在 Spock 中运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46955750/

    相关文章:

    java - 测试Java方法

    Android Studio Zxing Scanner,如果二维码的结果是URL,如何重定向到网页

    plugins - 执行任务后进行Gradle Spock测试

    android - 如何在非Android Gradle项目中创建Android库?

    jenkins - 如何知道 Jenkins 作业的运行时间

    ios - @2x 视网膜图像等效于 Android

    gradle - 使用Gradle将文件上传到Artifactory,无需发布Maven

    groovy - 如何为 Groovy 指定 JVM

    java - 在 Groovy 中将整数转换为 BigDecimal

    Android Studio 构建问题