我正在使用多工件Maven项目,其中项目中的工件彼此之间存在一些依赖关系。我正在使用IntelliJ 9.我希望能够在我的单元测试中设置断点,但是当我右键单击我的工件的单元测试文件夹并选择“Debug'All Tests'”时,我得到一个Class not not发现异常引用了一个单独的Maven工件中的类。
我可以在父工件上运行Maven“测试”目标,它可以正常工作。
有什么想法吗?感谢。
答案 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工件。