Intellij Idea 在IntelliJ中,我如何调试一个maven测试目标?

ncecgwcz  于 2023-03-07  发布在  Maven
关注(0)|答案(7)|浏览(157)

使用intellij和maven pom文件,我如何调试在maven测试目标中运行的测试?
当我直接在代码中运行它们时,它会抱怨缺少概要文件,我在intellij的Maven项目中对此进行了标记。

o8x7eapl

o8x7eapl1#

http://maven.apache.org/plugins/maven-surefire-plugin/examples/debugging.html

  • 当surefire插件版本〈2.14时:使用-DforkMode=never
  • 当surefire插件版本〉= 2.14时:使用-DforkCount=0

在IDEA中,打开运行/调试配置,在Runner选项卡中,添加分支选项-DforkCount=0

zu0ti5jz

zu0ti5jz2#

我使用以下选项执行测试:

mvn -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=6666 -Xnoagent -Djava.compiler=NONE" test

...然后使用远程调试器连接到Maven。

8ehkhllq

8ehkhllq3#

-DforkMode=never不再起作用,它现在在SureFire中已弃用。
当使用surefire插件2.14+时,使用-DforkCount=0代替。

gzszwxb4

gzszwxb44#

右键单击您的目标并“Debug [your goal]”(在您的例子中是测试目标),这又如何呢?

rm5edbpk

rm5edbpk5#

问题已经回答了。但只是分享我自己的经验。选择的答案没有解决我的问题。我的代码有多个模块。
foolshat的回答确实给我的问题带来了宝贵的见解。
我有两个解决方案,1。使用您的IDEA,通过添加一个VM选项-DforkMode=never;必须在调试模式下运行。2.设置一个远程调试,指定套接字,在这种情况下不需要forkMode。
这只是对我所经历的事情的总结。

tvz2xvvm

tvz2xvvm6#

mvn清洁验证**-使用surefire插件时DforkCount=0**

55ooxyrt

55ooxyrt7#

Colin Hebert的解决方案对我也不起作用。但幸运的是,我找到了一个简单的方法来调试测试,右键单击测试方法旁边的绿色三角形:
Java test class example
希望这对你有帮助!

相关问题