私は、Railsからの応答オブジェクトを使ってログインしてログアウトする方法を理解していました。標準のブログは大丈夫だったが、ついにそれを診断したので、ここに記録したかった。コンソールからログインしているRailsをテストするにはどうすればよいですか?
app.get '/'
assert_response :success
app.get '/auth_only_url'
assert_response 302
user = User.find(:user_to_login)
app.post '/signin_url',
:user_email => user.email,
:user_password => '<password in clear>'
assert_response 302
app.follow_redirect!
assert_response :success
app.get '/auth_only_url'
assert_response :success
注、上記のあなたが失敗した認証要求の後にリダイレクトしていること、また、あなたがログイン後にリダイレクトすることを意味している。
はあなたが正常に発生する(テスト環境DBに備品をロードすることを確認するためにすくいテスト)中に、あなたは次のことを実行していることを確認します
rake db:fixtures:load RAILS_ENV=test
( )パトリック・リッチーから、デフォルトのURLはActionControllerに設定され、このデフォルトのホストとして、「www.example.com」であると表示されます::インテグレーション::セッション
ActionController::Integration::Session.new.host=> "www.example.com"
次の操作を行い、統合テストでそれを変更するには#75
integration.rb/actionpack/libに/ action_controllerに設定されている:
session = open_session do |s| s.host = 'my-example-host.com' end