IntelliJ调试器不会在Maven项目的断点处暂停

时间:2018-06-12 00:48:22

标签: java maven debugging intellij-idea

问题

从昨天开始,我无法对我的测试进行适当的调试。调试器愉快地跳过我的断点。我通过添加一些日志验证了代码实际执行。

到目前为止我尝试了什么

  • 同步项目
  • 清理,重新安装并重建项目
  • 清除Maven依赖项
  • 将IntelliJ IDEA升级到最新版本
  • 阅读有关配置调试程序选项的IntelliJ docs
  • 浏览之前提出的问题,但没有成功(例如hereherehere)。

有关该项目的更多信息

执行的Java代码位于一个声明为测试源的文件夹中(一个是Selenium测试的“java”,另一个是Gatling测试的“scala”)。

My Maven命令行非常简单:package clean -Dtest=MyTestClass integration-test

编辑:我的POM配置确实提到了reuseForksforkCount。我也尝试过使用已弃用的forkMode,但没有成功。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.20.1</version>
    <configuration>
        <skip>${skip.selenium.tests}</skip>
        <parallel>none</parallel>
        <threadCount>1</threadCount>
        <reuseForks>false</reuseForks>
        <forkCount>0</forkCount>
        <disableXmlReport>false</disableXmlReport>
    </configuration>
    <executions>
        <execution>
            <id>runSeleniumTests</id>
            <phase>integration-test</phase>
            <goals>
                <goal>integration-test</goal>
            </goals>
        </execution>
    </executions>
</plugin>

有趣的是:当我右键单击项目根目录或测试源根目录(“java”文件夹)并单击“调试'所有测试'”时,调试器实际上在断点处停止。

任何帮助......都会有所帮助。

1 个答案:

答案 0 :(得分:0)

如果您正在使用surefire插件,它会在另一个进程中运行您的测试,因此您无法进行调试。

在maven配置中使用forkMode=never