RSpec测试跳过滤波器

时间:2013-01-14 19:08:31

标签: ruby-on-rails ruby-on-rails-3 rspec

我正在使用一个只能在生产中运行的宝石。

skip_after_filter :kachow_auto_include unless Rails.env.production?

如何在RSpec测试和开发过程中测试是否跳过这个。

由于

1 个答案:

答案 0 :(得分:2)

在Rails.env上存储方法调用,然后调用该操作,例如:

it "should run in production environment" do
  Rails.env.stub(:production?) { true }
  MyController.should_receive(:kachow_auto_include)
  get :action_that_triggers_after_filter
end

it "should not run unless in production" do
  Rails.env.stub(:production?) { false }
  MyController.should_not_receive(:kachow_auto_include)
  get :action_that_triggers_after_filter
end