如何在IntelliJ中调试集成测试?

时间:2018-03-20 17:00:14

标签: java maven intellij-idea integration-testing

我已在Maven Projects中为

创建了运行配置
mvn -Dit.test=PredictionWorkflowTest verify

看起来像这里

enter image description here

然后在PredictionWorkflowTest内设置断点。不幸的是,当我右键单击此配置并选择调试它时,测试会传递,就像没有设置断点一样。

如何使断点工作?

如果我通过单击类本身来运行测试,那么断点会触发,但集成条件不是我(服务器无法启动)。

1 个答案:

答案 0 :(得分:2)

步骤1:将调试添加到Maven运行配置

您可能正在使用Maven故障安全插件来运行测试,如其documentation

中所述

如果是这种情况,则需要将$global_variable = ->{} CONSTANT = ->{} SomeRepositoryObject.the_proc = ->{} def method_returning_the_proc ->{} end # Note: this last one has different semantics, it will return a different one every time documentation here)添加到您的Maven配置中,使其变为

-Dmaven.failsafe.debug

运行此maven命令时,默认情况下,调试器将在端口5005监听

步骤2:在IntelliJ中配置远程调试器

现在,在IntelliJ中,您需要在mvn -Dit.test=PredictionWorkflowTest verify -Dmaven.failsafe.debug和端口localhost上配置远程调试器配置

Remote debugger configuration for integration tests

第3步:调试应用

最后,运行maven命令。在测试之前,它将停止并等待调试器开始运行测试。以下消息将显示在终端中

5005

然后启动在步骤2中配置的远程调试器。这应该允许您在集成测试断点上调试应用程序。