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

Cre*_*eos 6 java unit-testing intellij-idea

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

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

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

谢谢.

Eri*_*fer 0

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