我有使用会话的 sinatra 应用程序,如何测试使用会话的页面?
我使用 Rspec + sinatra
Tks
这一页 http://blog.ianmiller.nyc/2014/09/29/working-with-rack-sessions/,显示了测试会话的主要问题rspec
and sinatra
.
主要问题是变量session
无法从测试代码访问。为了解决这个问题,它建议(并且我确认)在以下位置添加捕鸟线spec/spec_helper.rb
:
def session
last_request.env['rack.session']
end
它将允许从测试代码的最后一个请求访问模拟会话对象。
这是我的控制器代码,内容为code
param 并将其值存储在session
:
post '/step2callback' do
session['code'] = params['code']
end
然后是测试代码:
context "making an authentication" do
before do
post "/step2callback", code: "code_sample"
end
it "reads the param code and saves it at session" do
expect(session['code']).to eq("code_sample")
end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)