为什么Intellij单元测试视图显示的运行时间比运行测试的实际挂钟时间短得多?

时间:2016-06-16 00:29:03

标签: java unit-testing intellij-idea

Intellij Run视图显示每个单独测试的运行时。 我有一个大约800个测试的模块,其中Intellij表示大约1s500ms。但是,通过挂钟时间测量,测试显然需要更长的时间。

这些是纯单元测试,没有外部系统(或文件系统)连接,因此它们是100%CPU限制的(除了操作系统分页等,但我有大量的内存,所以这不是问题)。

  1. 这种差异的根源是什么? Intellij没有考虑设置/拆卸和其他引导吗?
  2. 是否可以显示运行所有测试所需的挂钟时间?
  3. 任何想法如何加速测试(例如我可以让它们并行运行吗?)
  4. 谢谢。

1 个答案:

答案 0 :(得分:0)

测试运行器只计算测试的设置和运行时间。构建通常会花费额外的时间。即使项目和测试已经构建,构建系统首先需要确定是否有任何更改。根据您的构建系统和项目的大小,这可能需要大量时间。 gradle为此而臭名昭著。在 Eclipse 中(当时我还在使用它)这曾经要好得多,因为它在后台非常有效地构建 Java 代码。现代构建系统会受到这些额外延迟的影响,因为它们不仅要编译和打包,还要检查外部依赖项。