通过删除tmp文件(或任何这类文件?)来加速rspec



我希望加快我们的rails应用程序测试。我们已经进行了大约600次测试,而且还在不断增加,开始需要很长时间才能运行。

我知道有一些工具可以加速测试。有些我们已经在使用,有些我们将开始使用,我很确定有些我们不能使用,因为我们的rails版本(2.3.8)。

但我来这里是为了一个不同的原因。几周前,我开始使用一台电脑,有一段时间没有运行我们的测试,测试运行得非常非常快。而不是通常的20-30分钟,它在5-7分钟内完成,如果不是更少的话。

一开始我以为出了什么问题,但我跑的次数越多,它开始变得越来越慢,直到我花了20-30分钟才跑完。

现在测试是相同的测试,工具过去和现在都是相同的。除了我有一段时间(几周~)没有运行测试,然后再次运行之外,我想不出有什么显著的变化。它可能是与tmp文件或任何此类文件相关的东西,可以删除或调整以使我们的测试运行得更快?

谢谢你的帮助。

加速测试的一些技巧:

  • 确保您正在使用事务性fixture

  • 尝试只初始化而不是持久化数据库中的对象

  • config.whiny_nils = false放在你的config/environments/test.rb

  • 如果你使用的是设计,把config.stretches = Rails.env.test? ? 1 : 10放在你的config/initializers/devise.rb

  • 升级到1.9.3

PS:刚刚看到你使用的是Rails 2.3.8,所以这对你不起作用,但我将把它留在这里,以防有人想使用:

  • 把这个补丁放到你的应用程序中(一定要在升级到3.2时删除它)

最新更新