0
我正在使用只應在生產中運行的gem。RSpec測試跳過篩選器
skip_after_filter :kachow_auto_include unless Rails.env.production?
我如何測試在RSpec的測試和開發過程中跳過了這一點。
感謝
我正在使用只應在生產中運行的gem。RSpec測試跳過篩選器
skip_after_filter :kachow_auto_include unless Rails.env.production?
我如何測試在RSpec的測試和開發過程中跳過了這一點。
感謝
存根上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
這看起來像它應該工作,但由於某種原因,它不是嗯...有趣。即使在被絆倒時也不會運行。奇。我會繼續檢查並在這裏報告,如果我得到它的工作。 –
我猜測問題是'除非'只在加載時評估一次。你可以使用proc來代替:'除非:proc {Rails.env.production? }'。缺點是你會檢查每一個請求。 –