我试图在Rspec 3.1中读取一个接到电话后收到的cookie。 我看到它被返回但是last_response.cookies不存在。 我怎样才能阅读回复的cookie?
it "doesn't signs in" do
get '/ui/pages/Home'
puts last_response.cookies
end
答案 0 :(得分:0)
我知道它已经有一段时间了,但现在面对同样的问题,经过一番努力,我发现了一篇文章here,它有一个有趣的方法。由于我也无法找到任何原生解析方法,这对我来说很好。
基本上,将以下代码放在spec/spec_helper.rb
:
def cookies_from_response(response=last_response)
Hash[response["Set-Cookie"].lines.map { |line|
cookie = Rack::Test::Cookie.new(line.chomp)
[cookie.name, cookie]
}]
end
您可以使用它来查看已解析的hash
:
puts cookies_from_response
对于Cookie的价值检查,您可以使用以下内容:
# Given your cookie name is 'foo' and the content is 'bar'
expect(cookies['foo'].value).to eq 'bar'
希望这对面临类似问题的其他人有所帮助。