我继承了一个遗留项目,其中包含100个测试,以及在pom中定义的依赖项。
当我从命令行执行mvn clean install时,所有测试都会运行,但是当我尝试在Intellij中以调试模式执行其中一个测试时,会出现以下错误。
java.lang.NoClassDefFoundError:无法初始化类
当尝试从ide运行调试模式的测试时,如何让intellij识别这些依赖项?
答案 0 :(得分:2)
我设法通过简单地将运行配置中的工作目录位置更改为指向正确的类路径位置来解决此问题。默认位置来自父项目。
答案 1 :(得分:0)
如果能够从IntelliJ中调试测试,那将非常方便。我的大型项目遇到了类似的问题,并找到了解决方法。
当希望调试测试时,我经常发现使用这样的远程调试会话很有用:
mvn -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE" -Dtest=com.autofunk.TheFunkImplTest test -DfailIfNoTests=false
然后,您可以使用端口8000上的IntelliJ内的远程调试会话附加到上面。
因此,在调试测试时,我首先检查Intellij内的简单调试是否有效。如果没有,我运行上面的操作,然后使用如下调试配置连接到它:
答案 2 :(得分:0)
IntelliJ执行单元测试,不带mvn命令。
IntelliJ插件:MvnRunner
答案 3 :(得分:0)
您可以使用IntelliJ中的maven项目窗口运行测试 查看 - 工具Windows - Maven项目
然后在项目或模块下,您希望测试打开生命周期目标并单击测试。
这将运行当前配置的测试目标。现在报告将登录到目标目录
我用 https://github.com/destin/maven-test-support-plugin 查看测试结果。
一旦从项目窗口安装插件再次右键单击项目根目录并选择“显示测试结果”(应该在maven图标下方),您可以访问此屏幕
祝你好运