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