IntelliJ 2019.2.2:无法调试 gradle 单元测试
IntelliJ 2019.2.2: Unable to debug gradle unit tests
每次我尝试调试我的一个测试(junit 5)时,我都会遇到异常:
2019-12-20 10:40:53,776 [4972237] WARN - .ExternalSystemTaskDebugRunner - Interrupted function call: accept failed
java.net.SocketException: Interrupted function call: accept failed
at java.base/java.net.PlainSocketImpl.accept0(Native Method)
at java.base/java.net.PlainSocketImpl.socketAccept(PlainSocketImpl.java:159)
at java.base/java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:458)
at java.base/java.net.ServerSocket.implAccept(ServerSocket.java:551)
at java.base/java.net.ServerSocket.accept(ServerSocket.java:519)
at com.intellij.openapi.externalSystem.service.execution.ForkedDebuggerThread.run(ForkedDebuggerThread.java:103)
我在这里对 SO 进行了大量搜索,发现有几个人遇到了类似的问题。他们中的大多数只是通过升级来解决(到 2013 年或其他什么,这些问题并不完全 spring 鸡)。其余的需要一些与他们的系统相关的特殊调味料(主要是 android 东西)。或者他们遇到了不同的异常(断开连接,而我一开始就无法连接)。
这些测试(大部分是单元测试)附加到没有 "main".
的 模块
我试过启动 gradlew -DtestDebug.test=true cleanTest test
,然后连接远程调试会话。我收到一个错误:Unable to open debugger port (localhost:5005); java.net.ConnectException "Connection refused: connect"
,我相信这正是 IntelliJ 的 gui 在收到上述异常时显示的内容。
理想情况下,我想设置我的断点,调试启动我的测试任务(可能指定一个 class 或单独的 @Test),它就可以工作。
有没有人有任何其他我可以尝试的想法?我可以查看的日志?
解决方法是 switch the build/run actions to IntelliJ IDEA 而不是使用 Gradle。
但是,如果您在当前 IDE 版本中仍然遇到此问题,请 consider reporting it with the sample project 并附上日志(帮助 | 压缩日志并显示在 ...)。
每次我尝试调试我的一个测试(junit 5)时,我都会遇到异常:
2019-12-20 10:40:53,776 [4972237] WARN - .ExternalSystemTaskDebugRunner - Interrupted function call: accept failed
java.net.SocketException: Interrupted function call: accept failed
at java.base/java.net.PlainSocketImpl.accept0(Native Method)
at java.base/java.net.PlainSocketImpl.socketAccept(PlainSocketImpl.java:159)
at java.base/java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:458)
at java.base/java.net.ServerSocket.implAccept(ServerSocket.java:551)
at java.base/java.net.ServerSocket.accept(ServerSocket.java:519)
at com.intellij.openapi.externalSystem.service.execution.ForkedDebuggerThread.run(ForkedDebuggerThread.java:103)
我在这里对 SO 进行了大量搜索,发现有几个人遇到了类似的问题。他们中的大多数只是通过升级来解决(到 2013 年或其他什么,这些问题并不完全 spring 鸡)。其余的需要一些与他们的系统相关的特殊调味料(主要是 android 东西)。或者他们遇到了不同的异常(断开连接,而我一开始就无法连接)。
这些测试(大部分是单元测试)附加到没有 "main".
的 模块我试过启动 gradlew -DtestDebug.test=true cleanTest test
,然后连接远程调试会话。我收到一个错误:Unable to open debugger port (localhost:5005); java.net.ConnectException "Connection refused: connect"
,我相信这正是 IntelliJ 的 gui 在收到上述异常时显示的内容。
理想情况下,我想设置我的断点,调试启动我的测试任务(可能指定一个 class 或单独的 @Test),它就可以工作。
有没有人有任何其他我可以尝试的想法?我可以查看的日志?
解决方法是 switch the build/run actions to IntelliJ IDEA 而不是使用 Gradle。
但是,如果您在当前 IDE 版本中仍然遇到此问题,请 consider reporting it with the sample project 并附上日志(帮助 | 压缩日志并显示在 ...)。