Ruby on rails 需要存根ssl_以便我的RSpec通过

Ruby on rails 需要存根ssl_以便我的RSpec通过,ruby-on-rails,rspec,stubbing,Ruby On Rails,Rspec,Stubbing,我正在Rails 3.0.9应用程序中使用bartt-ssl_需求 我的控制器顶部的ssl_required和ssl_allowed语句正在使用重定向破坏我的rspec。我该如何解决这个问题 通过四处摸索,我可以在spec_helper.rb(我不完全理解的一个新概念)中“存根”ssl_必需的方法,只返回true而不执行重定向 档案(相关): 控制器: class PagesController < ApplicationController ssl_required :about

我正在Rails 3.0.9应用程序中使用bartt-ssl_需求

我的控制器顶部的ssl_required和ssl_allowed语句正在使用重定向破坏我的rspec。我该如何解决这个问题

通过四处摸索,我可以在spec_helper.rb(我不完全理解的一个新概念)中“存根”ssl_必需的方法,只返回true而不执行重定向

档案(相关):

控制器:

class PagesController < ApplicationController
  ssl_required :about

  def about
    @title = "About Us"
  end

end

如果我注释掉控制器中所需的ssl_,则测试通过。否则,它们仍然会重定向并破坏我的应该。

好吧,这并不能回答我关于如何在spec\u helper.rb中配置存根的问题,或者这是否是一个好主意,但我所需要做的只是将
SslRequirement.disable\u ssl\u check=true
添加到我的test.rb环境中

class PagesController < ApplicationController
  ssl_required :about

  def about
    @title = "About Us"
  end

end
require 'rubygems'
require 'spork'

Spork.prefork do
  ENV["RAILS_ENV"] ||= 'test'
  require File.expand_path("../../config/environment", __FILE__)
  require 'rspec/rails'
  Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
  RSpec.configure do |config|
    config.mock_with :rspec
    config.fixture_path = "#{::Rails.root}/spec/fixtures"
    config.use_transactional_fixtures = true

    config.before(:each, :type => :controller) do
      controller.stub(:ssl_required).and_return(:true)
    end

  end
end