使用intellij和maven pom文件,如何在maven测试目标内调试测试?
当我直接在代码中运行它时,它会抱怨有关缺少配置文件的内容,我已经在intellij的Maven项目中打勾。
答案 0 :(得分:154)
http://maven.apache.org/plugins/maven-surefire-plugin/examples/debugging.html
在IDEA中,以调试模式“mvn -DforkMode=never test
”
已更新:打开运行/调试配置,在“亚军”标签中添加-DforkMode=never
(@ 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)
右键点击你的目标和“调试[你的目标]”(在你的情况下是测试目标)怎么样?
答案 3 :(得分:12)
-DforkMode=never
不再起作用,现在已在SureFire中弃用。
使用surefire插件2.14 +时,请使用-DforkCount=0
。
答案 4 :(得分:9)
问题已得到解答。但只是为了分享我自己的经验。 选定的答案并没有解决我的问题。 我的代码有多个模块。
傻瓜的回复确实为我的问题带来了宝贵的见解。
我有两个解决方案,
1.使用您的IDEA,添加 VM选项 -DforkMode=never
;必须使用调试模式运行它。
2.设置远程调试,指定套接字,在这种情况下,不需要forkMode。
这只是我所经历的总结。
答案 5 :(得分:1)
Colin Hebert的解决方案对我也不起作用。但是幸运的是,我找到了一种通过右键单击测试方法旁边的绿色三角形来调试测试的简便方法:
希望这对您有所帮助!
答案 6 :(得分:1)
mvn clean verify -DforkCount=0 使用surefire插件时