[英]Routing constraint warden session with Devise and Capybara
我正在使用Capybara进行一些功能测试并添加了路由约束。
这是代码的片段:
class LenderConstraint
def matches?(request)
user_cookie = request.session.fetch('warden.user.user.key')
end
end
这可以正常工作,但在测试环境中不可用。 一切都在测试中正常工作,直到添加了这个约束。 什么是使这项工作最有效的方法?
更新
它在我运行单独测试时有效,但在我运行套件时无效。
更新2
我调试了会话,问题与warden.user.user.key
没有正确设置有关。 我打电话的时候:
login_as(@user, scope: :user)
,用户ID为1, request.session.fetch('warden.user.user.key')
值返回2,即系统登录的第一个用户的ID在测试套件中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.