Groovy 如何通过intelliJ IDE和调试加载build.gradle任务
我的要求是在Groovy 如何通过intelliJ IDE和调试加载build.gradle任务,groovy,gradle,cucumber-jvm,Groovy,Gradle,Cucumber Jvm,我的要求是在intelliide中运行cucumber测试时加载Config.groovy文件。因为我无法通过build.gradle通过IntelliJ 我将所有与环境相关的数据存储在config文件中。目前,当我通过命令行运行测试时,它通过build.gradle完全加载。但唯一的问题是无法使用命令行进行调试 版本 IntelliJ : 13.0.3 ------------------------------------------------------------ Gradle 1.
intelliide
中运行cucumber测试时加载Config.groovy
文件。因为我无法通过build.gradle
通过IntelliJ
我将所有与环境相关的数据存储在config
文件中。目前,当我通过命令行运行测试时,它通过build.gradle
完全加载。但唯一的问题是无法使用命令行进行调试
版本
IntelliJ : 13.0.3
------------------------------------------------------------
Gradle 1.9
------------------------------------------------------------
Build time: 2013-11-19 08:20:02 UTC
Build number: none
Revision: 7970ec3503b4f5767ee1c1c69f8b4186c4763e3d
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.9.2 compiled on July 8 2013
Ivy: 2.2.0
JVM: 1.7.0_45 (Oracle Corporation 24.45-b08)
OS: Windows 7 6.1 amd64
有什么解决方案吗?运行
gradle test-Dtest.debug=true
,然后在IntelliJ(我相信是5050)建议的端口上连接一个远程调试器。我找到了通过IntelliJ IDE
运行测试的替代方法,方法是使用Gradke工具窗口运行build.gradle
任务。因此,无需像通过build.gradle
那样单独加载config
文件。但问题是如何以这种方式进行调试?更改了问题标题以获得更好的效果只是澄清。如果我运行IDE
,我应该在哪里添加gradletest-Dtest.debug=true
?因为在编辑配置
下有远程
选项。但是没有任何可编辑的内容。我在运行cucumber时遇到错误:无法打开调试器端口:java.net.SocketException“socket关闭
在调试会话结束时,在env variables
中设置GRADLE_OPTS=-Xdebug-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
,然后我可以在终端中看到消息正在侦听地址为5005
的transport dt_socket。但即使在这之后,当在IDE上以调试模式运行任务时,它也不会在断点处停止。我哪里做错了?也许cucumber
不是一个Test
任务,在这种情况下这不会起作用。如果我想调试groovy类而不是gradle任务,那么最好的方法是什么?。因为我不能只在IDE
中运行debug选项,因为在我的例子中,我需要先运行build.gradle
,然后再运行测试(这是通过task
加载配置数据),我按照我在第一条评论中提到的方式执行。当我尝试用上述方法调试groovy类文件时,它并没有在断点处停止。需要做什么样的改变。