Hãy xem xét các thử nghiệm tích hợp sau đây:Cách truy cập phiên từ Kiểm tra tích hợp Rails?
test "if there is no user in session, redirect to index and flash message" do
open_session do |sess|
post '/login', :email => users(:client).email, :password => 'rumpelstiltskin'
sess[:user] = nil
get '/user_page'
assert_redirected_to index_path
assert_equal "Your session has expired. Please log in again", flash[:notice]
end
end
này tạo ra lỗi: undefined method '[]='
Và, thay đổi để sess.session[:user] = nil
tạo ra một lỗi cũng như: NoMethodError: undefined method 'session' for nil:NilClass
Làm thế nào để bạn sửa đổi params phiên từ một hội nhập kiểm tra trong Rails?
Làm việc trong Rails 3.0.7, Ruby 1.9.2p180, Khung kiểm tra đơn vị.
CHỈNH SỬA:
get '/user_page', nil, {:user => nil}
10 và get ('/user_page', nil, {:user => nil})
phát sinh lỗi.
Bài kiểm tra thử nghiệm hoặc tích hợp đơn vị này phải không? :) – Rimian