使用 --no-daemon 参数的测试启动了 gradle,但守护程序还是启动了



我正在尝试调试我编写的一些单元测试,但 gradle 守护进程似乎总是启动,忽略我设置的任何选项。

使用 Mac OS X 10.9.5、Java 1.7、Gradle 2.2.1 和 robolectric-gradle-plugin 0.14.1

启动 gradle:

GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006"    
./gradlew test --no-daemon -Dorg.gradle.debug=true

导致出现以下行

To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: http://gradle.org/docs/2.2.1/userguid....

我还尝试在build.gradle中将-Xdebug和Xrunjdwp设置为jvmArgs。

没有其他反应,但是如果我添加-d并重新运行,则事实证明守护程序已启动并在端口5005上等待调试器:http://pastebin.com/TqaXubmr

最后,如果我随后启动附加到端口 5005 的调试器,测试将运行,但不会命中任何断点。

gradle.properties是空的,我还没有设置org.gradle.jvmargs。

您可能已经在 gradle.properties 中配置了内存设置? 这些可以强制 Gradle 启动新的 JVM,因为这些设置无法动态应用。

请记住,单元测试始终在单独的 jvm 中执行。调试 gradle 执行的测试的最简单方法是运行

>gradle :test --debug-jvm

这将自动将测试任务配置为在启用调试的情况下运行。

最新更新