2015-01-26 128 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