我试图模拟出会话哈希像这样的控制器:rspec的轨道嘲讽会议散列
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
当我打电话得到“秀”它指出:
received :[] with unexpected arguments
expected: (:company_id)
got: ("flash")
控制器代码样子:
def show
company_id = session[:company_id]
@company = Company.find params[company_id]
end
我也只是尝试设置
it "finds using the session[:company_id]" do
session[:company_id]= 100
Company.should_receive(:find).with(100)
get 'show'
end
但后来获得的一个问题:
expected: (100)
got: (nil)
任何人有任何想法,为什么?
这是我对这个问题的回答: http://stackoverflow.com/questions/8043956/rspec-2-7-access-controller-session-in-spec-before-making-request/13369734#13369734 – 2012-11-13 22:12:54