我希望加快我们的 Rails 应用程序测试。我们已经进行了大约 600 次测试,而且越来越多,而且开始需要很长时间才能运行。
我知道有一些工具可以加快测试速度。有些我们已经在使用,有些我们将开始使用,而且我很确定有些由于我们的 rails 版本 (2.3.8) 而无法使用。
但我来这里的原因不同。几周前,我开始使用一台有一段时间没有运行测试的计算机,而且测试运行得非常非常快。它不是通常需要 20-30 分钟,而是在 5-7 分钟内完成,甚至更少。
起初我以为出了什么问题,但我跑的次数越多,它开始变得越来越慢,直到我再次跑了 20-30 分钟。
现在测试是相同的测试,工具是相同的。除了我有一段时间(几周~)没有运行测试然后再次运行之外,我想不出任何显着变化。它可能与 tmp 文件或任何此类文件相关,可以删除或调整以使我们的测试运行得更快吗?
感谢您的帮助。
最佳答案
加快测试的一些技巧:
确保您使用的是事务固定装置
尝试只初始化而不是持久化数据库中的对象
将
config.whiny_nils = false
放在您的config/environments/test.rb
如果您使用的是 Devise,请将
config.stretches = Rails.env.test? ? 1 : 10
在你的config/initializers/devise.rb
升级到 1.9.3
PS:刚刚看到您正在使用 Rails 2.3.8,所以这对您不起作用,但我会把它留在这里,以防有人想使用:
- 输入this patch进入你的应用程序(升级到 3.2 时一定要删除它)
关于ruby-on-rails - 通过删除 tmp 文件(或任何此类文件?)来加速 rspec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8602580/