'value'} 我可以在 Rack 测试中设置 session 变量。但是,我如何(使用 Rack 测试)在 RSpec 中测试所-6ren">
gpt4 book ai didi

ruby - 使用 Rack::Test 使用 RSpec 测试 session 变量

转载 作者:数据小太阳 更新时间:2023-10-29 08:46:05 25 4
gpt4 key购买 nike

给定代码

env "rack.session", {:var => 'value'}

我可以在 Rack 测试中设置 session 变量。但是,我如何(使用 Rack 测试)在 RSpec 中测试所述 session 变量?假设,例如:

expect(env['rack.session'][:var]).to eq('value')

我似乎找不到任何关于读取 Rack 环境变量的文档,只能写它们。

最佳答案

只需使用 session method在最后一个请求上:

last_request.session

这将为您提供 session 哈希。示例:

it 'allows to access the session' do                                                                                                                                          
get '/'
session = last_request.session
expect(session).to be_a Hash
expect(session[:var]).to eq 'value'
end

我已经使用 rack v1.6.5 和 rack-test v0.6.3 进行了测试,但它应该也适用于 rack 版本 2。

关于ruby - 使用 Rack::Test 使用 RSpec 测试 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28156243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com