Tôi cố gắng để thử ra băm phiên cho một bộ điều khiển như vậy:ray rspec chế giễu phiên băm
it "finds using the session[:company_id]" do
session.should_receive(:[]).with(:company_id).and_return 100
Company.should_receive(:find).with(100)
get 'show'
end
Khi tôi gọi get 'show' nó nói:
received :[] with unexpected arguments
expected: (:company_id)
got: ("flash")
Mã điều khiển trông giống như:
def show
company_id = session[:company_id]
@company = Company.find params[company_id]
end
tôi cũng chỉ đơn giản là cố gắng thiết lập
it "finds using the session[:company_id]" do
session[:company_id]= 100
Company.should_receive(:find).with(100)
get 'show'
end
nhưng sau đó nhận được một vấn đề về:
expected: (100)
got: (nil)
Bất cứ ai có ý tưởng tại sao?
Đây là câu trả lời cho câu hỏi này: http://stackoverflow.com/questions/8043956/rspec-2-7-access-controller-session-in-spec-before-making-request/13369734#13369734 –