मुझे रेल से प्रतिक्रिया वस्तुओं का उपयोग करके लॉग इन करने और लॉगआउट करने का तरीका पता लगाने में एक समय का एक बिल्ली था। मानक ब्लॉग ठीक थे, लेकिन अंत में मैंने इसका निदान किया, और मैं इसे यहां रिकॉर्ड करना चाहता था।कंसोल से लॉग इन लॉग इन करने का परीक्षण कैसे करूं?
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
ध्यान दें, इसके बाद के संस्करण का तात्पर्य है कि आप एक असफल प्रमाणन अनुरोध के बाद पुन: निर्देशित, और भी आप में प्रवेश करने के बाद पुन: निर्देशित है।
सुनिश्चित करने के लिए है कि आप अपने परीक्षण वातावरण डीबी में जुड़नार लोड (जो आम तौर होता है , के रूप में ActionController में सेट
rake db:fixtures:load RAILS_ENV=test
(पैट्रिक रिची से) डिफ़ॉल्ट यूआरएल के लिए 'www.example.com' दिखाई देगा यह डिफ़ॉल्ट मेजबान के रूप में ::: रेक परीक्षण) के दौरान, सुनिश्चित करें कि आप निम्नलिखित को निष्पादित कर एकीकरण :: सत्र
ActionController::Integration::Session.new.host=> "www.example.com"
यह actionpack/lib/action_controller/# 75
एकीकरण परीक्षण में यह बदलने के लिए, निम्न कार्य करें integration.rb में स्थापित किया जाएगा:
session = open_session do |s| s.host = 'my-example-host.com' end