【问题标题】:Rails Integration Tests: reducing execution timeRails 集成测试:减少执行时间
【发布时间】:2011-03-19 17:21:05
【问题描述】:

我想分享我的发现并听取其他人关于减少 Rails 应用程序集成测试执行时间的成功和失败尝试(无论是“普通”测试、基于 Cucumber 还是基于 RSpec)。

这个问题暗示测试涉及数据库、视图渲染,也许还有 JavaScript/AJAX。即测试不要存根/模拟应用程序的慢速部分。

【问题讨论】:

    标签: ruby-on-rails rspec integration-testing execution-time launch-time


    【解决方案1】:

    作者的回答。 我尝试了两件事:spork 插件和内存数据库。我的开发配置:Ubuntu VirtualBox 托管在 Win7、Ruby 1.8.7、Rails 3、SQLite 上。

    Spork 插件将我的测试启动时间从 35 秒减少到 2 秒。我总结了here 的步骤,但它们在 github 自述文件中描述得足够好。 This post 还描述了如何将其与 Guard 一起使用,以确保 spork 服务器在文件更改时重新启动。

    我尝试使用in-memory database 来减少执行时间。在某些情况下,它们将执行时间减少了 10%,但启动时间有 2 秒的开销来创建模式。结果远远超过我可以观察到的改进。所以我自己决定,改进是不值得的。

    我还 used RVM1.9.2 替换 Ruby 1.8.7。它将执行时间从 58 秒减少到 42 秒。

    结论:Spork 并将 1.8.7 替换为 1.9.2 可以显着改善您的 TDD 体验。

    【讨论】:

      猜你喜欢
      • 2011-11-23
      • 2012-12-31
      • 1970-01-01
      • 2017-07-10
      • 2018-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多