【问题标题】:Debug Spock tests in Intellij IDEA在 Intellij IDEA 中调试 Spock 测试
【发布时间】:2012-05-19 20:00:37
【问题描述】:

我正在通过“右键单击 -> 运行 -> 测试名称”运行 Spock 测试。如何在调试模式下运行测试?调试图标运行测试但不会在断点处停止

【问题讨论】:

    标签: grails intellij-idea spock


    【解决方案1】:

    通常这可以正常工作。如果不是,则可能是您的 IDE 和 Groovy 或 Grails 有问题。我建议尝试使用最新版本的 IDEA。

    【讨论】:

    • 这如何回答这个问题?这真的更像是一个评论。
    • 这是一种帮助某人解决模糊问题的尝试。由于提供的信息很少,很难做得比这更好。最好在邮件列表或支持论坛上提出这个问题。
    • 它通常不起作用。运行 spock 测试时,调试器不会在断点处停止。
    • 通常对我来说效果很好(尽管我不经常在规范中设置断点)。不过,调试 Groovy 并不总是像调试 Java 那样顺利。
    【解决方案2】:

    我相信这可能是元类在 groovy 中如何工作的一个错误。我发现如果断点不在控制结构或闭包上,它将起作用。我在 intellij 论坛上找到了解决方法:

    http://youtrack.jetbrains.com/issue/IDEA-82741

    【讨论】:

    • 我做不到。只需在测试开始时添加行 Integer.metaClass.xxx = {} 对您有用吗?
    【解决方案3】:

    我遇到了“相同”的问题(不确定它是否与 OP 的原因相同)

    在我这边,它在某种程度上与 gradle 和 IntelliJ IDEA 相关。

    在执行和调试 groovy 测试时,IDEA 默认使用本地系统的 gradle 构建系统。

    但是有一个选项可以在 IDEA 的构建系统中“本地”运行测试。

    我已经尝试了基于 IDEA 的构建系统设置来运行 groovy 测试,然后它就可以工作了。

    设置可以在Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle下找到

    【讨论】:

      【解决方案4】:

      也许你应该使用 RightClick -> Debug (Not Run)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-28
        • 2013-06-25
        • 2015-10-12
        相关资源
        最近更新 更多