【问题标题】:Browse a Rails App with the DB in Sandbox Mode?在沙盒模式下浏览带有数据库的 Rails 应用程序?
【发布时间】:2013-07-13 04:05:01
【问题描述】:

我现在正在编写很多请求规范,并且我正在花费大量时间来建立工厂。对工厂进行更改、运行规范并查看我是否忘记了数据中的任何主要依赖关系是非常麻烦的。一遍又一遍……

这让我想建立某种沙盒环境,在那里我可以随意浏览网站并从我的工厂刷新数据库。有人做过吗?

编辑:

我正在运行 spork 和 rspec-guard 以使这更容易,但我仍然浪费了很多时间。

大部分时间都花在等待 Capybara/FireFox 启动上。这些是请求规范,而且通常还需要练习一些 JavaScript 组件。

【问题讨论】:

    标签: ruby-on-rails rspec factory-bot sandbox


    【解决方案1】:

    您可以先看看几个解决方案:

    • 您可以使用 rspec spec/request/foo_spec.rb 之类的东西运行特定的测试文件而不是整个套件。您可以使用-e 选项运行特定测试,或者通过将:lineno 附加到文件名,其中lineno 是测试开始的行号。
    • 您可以使用guard-rspecwatchrautotest 之类的内容在相关文件更改时自动运行测试。
    • sporkzeus 等工具可用于预加载应用程序环境,从而缩短运行测试套件的运行时间。但是,我认为这不会重新加载工厂,因此它们可能不适用于这里。
    • 请参阅this answer,了解可以改善 Rails 启动时间的方法。这大大减少了运行套件的痛苦。

    【讨论】:

    • 嗨,克里斯!我正在做你建议的所有 4 个要点;我隔离了我的个人规范,使用 spork 预加载所有我能做的,并且正在运行 Ruby 2.0。我正在编辑我的问题,以提供有关我的环境的更多详细信息。
    • 你考虑过使用 poltergeist/phantomJS 吗?您可以在启动测试套件(预启动)时启动 phantomJS 服务器,然后将其用于运行验收测试。这样做的好处是可以很好地与 CI 配合使用!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    相关资源
    最近更新 更多