如何测试使用会话的 Sinatra 应用程序?
get "/", {}, {'rack.session' => { 'foo' => 'blah' } }
这段代码对我不起作用,我在我的应用程序中有“启用:会话”。
看起来问题实际上是有enable :sessions
活性。
您必须停用此设置才能覆盖session.
解决方案可能是:
# my_test.rb (first line, or at least before you require your 'my_app.rb')
ENV['RACK_ENV'] = 'test'
# my_app.rb (your sinatra application)
enable :sessions unless test?
# my_test.rb (in your test block)
get '/', {}, 'rack.session' => { :key => 'value' }
另一方面能够检查任何session改变的是action预计我们可以发送不hash to the 机架会话 but a 指向哈希值的指针所以我们可以在之后检查action如果hash已经改变:
# my_test.rb (in your test block)
session = {}
get '/', {}, 'rack.session' => session
assert_equal 'value', session[:key]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)