5

在测试我的辅助方法时,我不知道如何测试已设置 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

有人知道怎么做吗?

4

3 回答 3

4

如果您愿意,可以用一个简单的 rspec 模拟来代替 CookieJar 作品:

helper.stubs(:cookies => cookies = mock)
cookies.expects(:[]=).with('foo', 'bar')
helper.my_helper('foo', 'bar')
于 2012-07-31T00:12:48.163 回答
2

我在 Rails 3.2 和 rspec 2.8 上。尽管rspec 文档说以下内容在请求规范(即集成测试)中对我有用。

it 'should set cookies' do  
  cookies['foo'] = 'bar'
  visit "/"
  cookies['foo'].should == 'bar'
end
于 2012-07-26T00:43:35.393 回答
0

通过请求cookie

 helper.request.cookies[:awesome] = "something"
于 2012-07-25T22:07:33.977 回答