2015-01-26 94 views
2

会话变量::测试由于代码测试使用机架使用RSpec的

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

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

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

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

回答

0

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

last_request.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 

我和机架v1.6.5和机架测试v0.6.3测试,但它应该与机架版本工作,以及2