如何在Eclipse中从Maven构建中调试测试?

4
如何在Eclipse的调试视角下启动Maven构建并查看测试结果?
3个回答

4

软件包或安装是一种原子操作,不应该因为调试而停止(除非您正在调试Maven插件)。您可以通过选择Eclipse项目并执行“Debug As -> JUnit Test”来调试测试。


你的解决方案比我的更有优势:我可以在反编译的类中看到执行流程,而这在我的Maven命令行解决方案中无法实现。 - Alexis Dufrenoy
在我的情况下,没有其他解决方案,因为Eclipse测试可以工作,但Maven失败了。 - Hatzen

2
如何配置:
  • 在Eclipse中创建一个新的Java项目。命名为“Maven调试器项目”。这是一个虚拟项目,不需要包含任何代码。
  • 创建一个新的调试配置。命名为“Maven调试启动”。在连接选项卡中,在主机字段中输入“localhost”,在端口字段中输入“5005”,这是Surefire插件与调试器通信的端口。选择“标准(套接字附加)”作为连接类型。在源选项卡中,添加要调试的项目。
如何使用:
  • 现在您可以在测试代码中设置断点。
  • 以debug模式启动您的“Maven调试启动”
  • 使用“-Dmaven.surefire.debug”选项启动Maven构建
我在这里发现了这个有趣的解决方案,并且它对我很有用(这意味着我已经测试过它,它有效),所以我想分享一下。

0

如果您使用Ecplise Maven插件运行Maven构建:

  • 在Java代码中设置调试点
  • 右键单击您的pom.xml或Eclipse中的项目,选择“Debug As”,然后选择“Maven Install”,或者如果您想要其他Maven目标,则选择“Maven build…”

@Traroth 你怎么知道它不起作用?我相信你,但症状会帮助我们理解。 - Chris Gerken
3
就像我之前所说的,这是我尝试的第一件事。症状很简单:它的行为就像是用“Run”启动一样,这意味着执行流程不会在断点处停止。 - Alexis Dufrenoy
1
你能否按照我在答案中提出的建议,将其作为 JUnit 测试来调试吗? - Chris Gerken

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接