用于单元测试的Intellij IDEA fork模式减慢了速度

时间:2015-04-17 12:22:15

标签: java unit-testing groovy intellij-idea spock

我在Intellij IDEA中运行了9个JUnit(实际上是Spockframework)测试。 大约需要3秒钟。

我想利用所有核心,因此我切换测试配置fork模式 - 类。 Edit configurations > Fork mode > class

这会导致构建时间增加到8秒。尝试使用fork模式方法使它成为22秒。 测试运行程序过程看起来像是按顺序运行而不是并行运行。

关于为什么不进行分支测试的任何想法都按预期工作?

2 个答案:

答案 0 :(得分:6)

分叉只意味着您将为每次测试运行获得一个单独的进程,但该进程不一定会并行运行。

从我所见,JUnit plugin没有选项可以并行运行测试。如果您正在使用Gradle,请使用docs中显示的maxParallelForks选项(您可能知道,但您可以直接从IntelliJ运行Gradle任务)。

如果您使用Maven,请尝试-t option

答案 1 :(得分:1)

你可以试试这个插件:https://plugins.jetbrains.com/plugin/16229-unit-test-parallel-runner

如果您在单个类中运行单元测试,它会并行运行所有测试方法,如果您在多个类中运行单元测试,它会并行运行类,但单个类中的方法会串行运行(这样会更快)除非你有一台非常高端的机器)。