Rspec 设置cookie以测试帮助程序

Rspec 设置cookie以测试帮助程序,rspec,rspec-rails,rspec3,Rspec,Rspec Rails,Rspec3,我试图测试我的helper函数,它返回cookie中的字符串集。测试如下所示: context 'if the cookie does exist' do it 'returns filled hash' do request.cookies['history'] = '{\"1_2_2\":\"HAI\"}' expect(history_terms_array).to eq('{\"1_2_2\":\"HAI\"}') end end 但是,由于某些原因,我不断收到

我试图测试我的helper函数,它返回cookie中的字符串集。测试如下所示:

context 'if the cookie does exist' do
  it 'returns filled hash' do
    request.cookies['history'] = '{\"1_2_2\":\"HAI\"}'
    expect(history_terms_array).to eq('{\"1_2_2\":\"HAI\"}')
  end
end
但是,由于某些原因,我不断收到以下错误:

 Failure/Error: request.cookies['history'] = 'abc'
 NoMethodError:
   undefined method `cookies' for nil:NilClass

我忘了什么吗?

我不确定请求对象是否可用,与其这样做,不如尝试使用存根

allow(request).to receive(:[]).with('history').and_return('{\"1_2_2\":\"HAI\"}')
expect(history_terms_array).to eq('{\"1_2_2\":\"HAI\"}')