在 Intellij IDEA 中调试 Spock 测试
Posted
技术标签:
【中文标题】在 Intellij IDEA 中调试 Spock 测试【英文标题】:Debug Spock tests in Intellij IDEA 【发布时间】:2012-05-19 20:00:37 【问题描述】:我正在通过“右键单击 -> 运行 -> 测试名称”运行 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)
【讨论】:
以上是关于在 Intellij IDEA 中调试 Spock 测试的主要内容,如果未能解决你的问题,请参考以下文章
在 Intellij Idea 中运行 grails 2.1.3 测试:Spock 测试中出现奇怪错误:无法添加域类 [class x.y.Z]。它不是域
在 AppCode 中调试 Intellij Idea 插件