RailsのコントローラのSSL・非SSLのときの振る舞いをテストするには request.env['HTTPS'] に 'on' か 'off' を代入すればいい。 describe SomeController do describe 'GET new' do context 'access using SSL' do before { request.env['HTTPS'] = 'on' } it do get :new # SSLでアクセスする end end context 'access not using SSL' do before { request.env['HTTPS'] = 'off' } # この中は非SSL end end end