针对 maven 项目, IntelliJ 中的单元测试及 main 方法的启动是以 java 命令的形式启动,并没有用原生的 mvn 命令。在这点上, Netbeans 做的还是不错的
这会带来一个问题: maven 项目间的级联依赖的jar信息无法获取,java方式仅读取本maven中的依赖信息,而你的测试运行时,如果依赖配置在其它 maven module 中, 在这种情况下,这个 java 的方式就会报找不到类的错误。
个别 maven 插件也可能会在运行期读取某些信息,而你的测试如果依赖这些信息,IntelliJ 的处理方式也会有问题。
因此,整了个小插件,来解决这个问题: [url=https://github.com/ShlXue/MvnRunner]MvnRunner(github)[/url]
插件下载地址: [url=http://plugins.jetbrains.com/plugin/7409]JetBrains Plugin Repository[/url]
插件效果截图:
[img]https://raw.github.com/ShlXue/MvnRunner/master/docs/images/all_tests_popup_menu.png[/img]
[img]https://raw.github.com/ShlXue/MvnRunner/master/docs/images/test_package_popup_menu.png[/img]
[img]https://raw.github.com/ShlXue/MvnRunner/master/docs/images/run_configurations.png[/img]
[img]https://raw.github.com/ShlXue/MvnRunner/master/docs/images/Preferences.png[/img]
这会带来一个问题: maven 项目间的级联依赖的jar信息无法获取,java方式仅读取本maven中的依赖信息,而你的测试运行时,如果依赖配置在其它 maven module 中, 在这种情况下,这个 java 的方式就会报找不到类的错误。
个别 maven 插件也可能会在运行期读取某些信息,而你的测试如果依赖这些信息,IntelliJ 的处理方式也会有问题。
因此,整了个小插件,来解决这个问题: [url=https://github.com/ShlXue/MvnRunner]MvnRunner(github)[/url]
插件下载地址: [url=http://plugins.jetbrains.com/plugin/7409]JetBrains Plugin Repository[/url]
插件效果截图:
[img]https://raw.github.com/ShlXue/MvnRunner/master/docs/images/all_tests_popup_menu.png[/img]
[img]https://raw.github.com/ShlXue/MvnRunner/master/docs/images/test_package_popup_menu.png[/img]
[img]https://raw.github.com/ShlXue/MvnRunner/master/docs/images/run_configurations.png[/img]
[img]https://raw.github.com/ShlXue/MvnRunner/master/docs/images/Preferences.png[/img]