0

本番環境でのみ実行する必要があるgemを使用しています。

skip_after_filter :kachow_auto_include unless Rails.env.production?

RSpecでのテストおよび開発中にこれがスキップされることをテストするにはどうすればよいですか。

ありがとう

4

1 に答える 1

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
于 2013-01-14T19:23:25.753 に答える