如何配置RSPEC永远不会在RAILS_ENV生产上运行

Mau*_*rez 3 ruby rspec ruby-on-rails

因为我所做的改变,我试图进行一些测试...所以我跑了 RAILS_ENV=production bundle exec rspec

这是非常愚蠢的事情,因为rspec(测试)被配置为截断所有表格,这正是在PRODUCTION上发生的事情!! 你可以想象后果

是否有一种方法可以将RApec配置为在RAILS_ENV =生产时从不运行,因此任何一个都不会发生这种情况.

可以采用哪些其他建议或良好做法来避免这种错误

更新:我为rspec-rails团队创建了一个ISSUE,他们只是提交了一个修复此问题的更改https://github.com/rspec/rspec-rails/pull/1383/files

inf*_*sed 5

在你的Gemfile参考试验,具体的事情(如rspec-railsrspec)的组中的环境developmenttest ,而不是在顶层,如:

group :development, :test do
  gem 'rspec-rails', '~> 3.0'
end
Run Code Online (Sandbox Code Playgroud)

然后在生产机器上捆绑开发和测试宝石.没有rspec宝石,测试就不会运行.--without部署时添加开关:

bundle install --without development test
Run Code Online (Sandbox Code Playgroud)