如何加快Java单元测试的速度?
2022-09-01 02:24:13
目前,我们的项目有超过3000个单元测试,“ant testAll”需要20多分钟。除了获得更好的硬件之外,还有没有办法加快速度?
目前,我们的项目有超过3000个单元测试,“ant testAll”需要20多分钟。除了获得更好的硬件之外,还有没有办法加快速度?
就像你加快任何其他代码的速度一样。找出哪些测试花费的时间最多,并了解如何优化它们。
有很多操作可能会很慢,如果你做3000次,它就会加起来。有时,在测试之间重用数据是值得的(即使您不应该在单元测试中这样做,如果这是使测试以可接受的速度运行所需的条件,则可能有必要这样做)。
为测试计时。通常,其中90%几乎会立即执行,最后10%几乎需要所有时间。找到这10%,看看他们在做什么。
通过探查器运行代码,并记下所花费的时间。猜测是浪费时间。您认为测试运行器正在做的事情毫无意义。与其猜测,不如找出它在做什么。然后你就会知道如何加快速度。
一些想法: