【问题标题】:IntelliJ debugger does not pause at breakpoints on Maven projectIntelliJ 调试器不会在 Maven 项目的断点处暂停
【发布时间】:2018-11-21 07:14:33
【问题描述】:

问题

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

到目前为止我所做的尝试

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

有关项目的更多信息

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

我的 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”文件夹)并单击“调试‘所有测试’”时,调试器实际上会在断点处停止。

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

【问题讨论】:

    标签: java maven debugging intellij-idea


    【解决方案1】:

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

    在您的 maven 配置中使用 forkMode=never

    【讨论】:

    • 不幸的是它没有解决问题。我已经更新了我的帖子。还是谢谢你
    猜你喜欢
    • 1970-01-01
    • 2017-08-11
    • 2015-07-17
    • 1970-01-01
    • 2014-10-29
    • 2023-03-12
    • 2015-06-30
    • 2010-11-25
    • 2011-07-14
    相关资源
    最近更新 更多