为什么IntelliJ需要20多秒才能启动单元测试?

时间:2011-10-27 08:07:45

标签: junit intellij-idea

在Eclipse中,(如果我没记错的话)我几乎可以在几乎没有启动时间的情况下立即运行JUnit测试。这意味着我可以在几秒钟内完成代码更改+测试周期。

我最近迁移到IDEA IntelliJ,如果你自上次更改了任何源代码,它似乎必须在运行单元测试之前“制作”项目。这对我来说通常需要20秒,这对于测试驱动开发来说太长了。

我可以取消选中“运行配置”中的“启动前生成”复选框,但随后执行测试而不编译最近的更改。

“make”期间输出的警告表示它至少在某些时候正在编织某些方面。我认为单元测试通常不需要这些方面。

我的猜测是每次更改源文件时Eclipse都会在后台编译,并且在不进行方面编织的情况下快速完成。

如何加快IntelliJ中的代码更改+测试周期?

更多信息:我在“编译器设置”中选中了“后台编译”。 Java编译器是com.springsource.org.aspectj.tools-1.6.8.RELEASE.jar中的ajc

4 个答案:

答案 0 :(得分:8)

我在IntelliJ中激活的选项,将测试执行时间从20秒加速到2.5秒:

编译器

  • 自动制作项目
  • 并行编译独立模块

编译器 - > Java编译器

  • 使用编译器:Eclipse
  • 不生成任何警告

答案 1 :(得分:6)

实用答案:在测试驱动开发期间将编译器从“ajc”切换到“Eclipse”。记得在部署应用程序时还原它!

答案 2 :(得分:0)

尽我所能回答我自己的问题:(主要来自Intellij idea tests compilation takes too long (compared with Eclipse)

intellij不进行增量编译。您可以获得一个插件来执行此操作,但听起来它不适用于最新版本的Intellij。

答案 3 :(得分:0)

Stack Overflow帖子中提到的另一个有希望的发展:从2011年10月开始提前发布IntelliJ(EAP build 110.137)可能有解决方案:

IntelliJ IDEA Aspectj (Ajc compiler) takes too much time to load classes after every Make