Rails'in yanıt nesnelerini kullanarak nasıl giriş yapılacağını ve çıkış yapılacağını anlatan bir zaman geçiriyordum. Standart bloglar iyiydi, ama sonunda teşhis ettim ve burada kaydetmek istedim.Konsoldan Giriş Yapan Rayları Nasıl Sınar?
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
Not Yukarıda başarısız bir yetkilendirme isteği sonra yönlendirme yaptığını ve ayrıca giriş yaptıktan sonra yönlendirme anlamına gelir.
normalde oluştuğu (test ortamına DB içine demirbaşlar yüklemek sağlamak ActionController ayarlanan bu varsayılan ana bilgisayar olarak,
rake db:fixtures:load RAILS_ENV=test
(Patrick Richie itibaren) varsayılan URL 'www.example.com' gibi görünecektir ::: tırmık testi) sırasında, aşağıdakilerden emin yürütmek yapmak Entegrasyon :: Oturum
ActionController::Integration::Session.new.host=> "www.example.com"
O/lib/action_controller/# 75
aşağıdakileri yapın, entegrasyon testi bunu değiştirmek için integration.rb actionpack ayarlanır:
session = open_session do |s| s.host = 'my-example-host.com' end