在IntelliJ中,我如何调试maven测试目标?

时间:2010-09-24 06:42:51

标签: testing maven-2 intellij-idea

使用intellij和maven pom文件,如何在maven测试目标内调试测试?

当我直接在代码中运行它时,它会抱怨有关缺少配置文件的内容,我已经在intellij的Maven项目中打勾。

7 个答案:

答案 0 :(得分:154)

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

在IDEA中,以调试模式“mvn -DforkMode=never test

运行测试

已更新:打开运行/调试配置,在“亚军”标签中添加-DforkMode=never

enter image description here

(@ mikeapr4注意:新版本的surefire插件(2.14+)使用mvn -DforkCount=0 test

答案 1 :(得分:26)

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

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

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

答案 2 :(得分:24)

右键点击你的目标和“调试[你的目标]”(在你的情况下是测试目标)怎么样?

debug goal

答案 3 :(得分:12)

-DforkMode=never不再起作用,现在已在SureFire中弃用。

使用surefire插件2.14 +时,请使用-DforkCount=0

答案 4 :(得分:9)

问题已得到解答。但只是为了分享我自己的经验。 选定的答案并没有解决我的问题。 我的代码有多个模块。

傻瓜的回复确实为我的问题带来了宝贵的见解。

我有两个解决方案, 1.使用您的IDEA,添加 VM选项 -DforkMode=never;必须使用调试模式运行它。 2.设置远程调试,指定套接字,在这种情况下,不需要forkMode。

这只是我所经历的总结。

答案 5 :(得分:1)

Colin Hebert的解决方案对我也不起作用。但是幸运的是,我找到了一种通过右键单击测试方法旁边的绿色三角形来调试测试的简便方法:

Java test class example

希望这对您有所帮助!

答案 6 :(得分:1)

mvn clean verify -DforkCount=0 使用surefire插件时