在测试我的辅助方法时,我无法弄清楚如何测试已设置cookie。
假设辅助方法:
def my_helper(k,v)
cookies[k] = v
end
测试:
it 'should set cookies' do
helper.my_helper("foo", "bar")
helper.cookies["foo"].should == "bar" #nil
helper.response.cookies["foo"].should == "bar" #nil
end
任何人都知道怎么做?
答案 0 :(得分:4)
如果你愿意,可以用一个简单的rspec模拟代替CookieJar:
helper.stubs(:cookies => cookies = mock)
cookies.expects(:[]=).with('foo', 'bar')
helper.my_helper('foo', 'bar')
答案 1 :(得分:2)
我在rails 3.2和rspec 2.8上。尽管rspec docs说明以下内容适用于请求规范(即集成测试)。
it 'should set cookies' do
cookies['foo'] = 'bar'
visit "/"
cookies['foo'].should == 'bar'
end
答案 2 :(得分:0)
通过
请求cookie helper.request.cookies[:awesome] = "something"