调试Maven测试时,IntelliJ IDEA调试器会跳过断点

时间:2011-07-04 15:15:56

标签: unit-testing maven-2 junit intellij-idea

我正在尝试在IntelliJ IDEA中调试Maven测试。当我打开IDEA的 Maven项目视图并右键单击测试目标时,我会选择调试它。单击它会执行此目标,但执行永远不会在任何断点处停止。我错过了什么?

感谢。

4 个答案:

答案 0 :(得分:27)

只需禁用分叉模式 - 就像在你的pom文件中一样(在project / build / plugins部分下):

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.14</version>
<configuration>
    <forkMode>never</forkMode>
</configuration>
</plugin>

答案 1 :(得分:17)

一种解决方案是使用远程调试:

  1. 配置surefire插件:<debugForkedProcess>true</debugForkedProcess>;

  2. 运行测试(将等待远程调试器连接)

  3. 在IntelliJ中创建并运行远程调试配置(将命中您的断点);要连接的端口是5005。

答案 2 :(得分:0)

您的依赖项源与二进制代码不匹配。确保使用相同的来源。

答案 3 :(得分:0)

如果您正在使用maven故障安全而不是surefire运行单元测试,则调试器将不会停止,您必须手动运行故障安全调试器命令行,然后intellij将能够在断点处停止。我不确定在故障保护上使用<forkMode>never</forkMode>选项是否可以解决此问题。

正如我在此处所述:https://github.com/djangofan/maven-failsafe-debug-example