如何在Maven项目中的单元测试中运行IntelliJ调试器?

时间:2011-07-01 22:38:56

标签: java maven junit intellij-idea

我正在使用多工件Maven项目,其中项目中的工件彼此之间存在一些依赖关系。我正在使用IntelliJ 9.我希望能够在我的单元测试中设置断点,但是当我右键单击我的工件的单元测试文件夹并选择“Debug'All Tests'”时,我得到一个Class not not发现异常引用了一个单独的Maven工件中的类。

我可以在父工件上运行Maven“测试”目标,它可以正常工作。

有什么想法吗?感谢。

2 个答案:

答案 0 :(得分:9)

在从命令行运行Maven时,您将能够在启用调试器的情况下运行它,并将Idea作为远程调试器附加。这就是我通常使用它的方式。

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

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

这将允许调试器连接到端口8000并等待您在执行之前附加。

答案 1 :(得分:2)

我想为特定包运行单元测试。

我能够通过在IntelliJ中进行新的JUnit运行/调试配置来实现这一点。我告诉它在特定的包中运行测试,并且“使用类路径和模块的JDK”,我选择了根Maven工件。