gpt4 book ai didi

rspec - 使用 session sinatra 进行 Rspec 测试

转载 作者:行者123 更新时间:2023-12-02 17:15:37 26 4
gpt4 key购买 nike

我有使用 session 的 sinatra 应用程序,如何测试使用 session 的页面?

我使用 Rspec + sinatra

最佳答案

This page ,显示了使用 rspecsinatra 测试 session 的主要问题。

主要问题是变量session无法从测试代码访问。为了解决这个问题,它建议(并且我确认)在 spec/spec_helper.rb 处添加 fowling 行:

def session
last_request.env['rack.session']
end

它将允许从测试代码的最后一个请求访问模拟 session 对象。

这是我的 Controller 代码,它读取 code 参数并将其值存储在 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

关于rspec - 使用 session sinatra 进行 Rspec 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2434800/

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