在沙箱模式下使用数据库浏览Rails应用程序?

时间:2013-07-12 16:50:29

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

我现在正在编写很多请求规范,而且我花了很多时间建立工厂。对工厂进行更改,运行规范,看看我是否忘记了数据中的任何主要依赖项,这非常麻烦。一遍又一遍......

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

修改

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

很长一段时间都在等待Capybara / FireFox旋转。这些是请求规范,并且通常还需要执行一些JavaScript组件。

1 个答案:

答案 0 :(得分:0)

您可能首先考虑几个解决方案:

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