我正在使用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)
,request.session.fetch('warden.user.user.key')
的值返回2,这是系统在测试套件中登录的第一个用户的ID。
答案 0 :(得分:0)