【问题标题】:Testing for session variables using Rack::Test using RSpec使用 RSpec 使用 Rack::Test 测试会话变量
【发布时间】:2015-03-25 05:27:27
【问题描述】:

给定代码

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

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

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

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

【问题讨论】:

    标签: ruby session rspec rack rack-test


    【解决方案1】:

    只需在最后一个请求中使用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
    

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

    【讨论】:

      猜你喜欢
      • 2015-12-12
      • 2011-11-09
      • 2011-12-03
      • 1970-01-01
      • 2012-02-19
      • 2017-09-02
      • 2011-01-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多