我正在尝试模拟控制器的会话哈希,如下所示:
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
当我调用 get 'show' 时,它指出:
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)
任何人都有想法为什么?