我正在尝试测试使用Warden的类(而不是控制器),但是我遇到了错误:
Authentication::SignIn wrong password
Failure/Error: if user = warden.authenticate(scope: :user)
RuntimeError:
Invalid strategy password
# /usr/local/bundle/gems/warden-1.2.7/lib/warden/proxy.rb:371:in `_fetch_strategy'
# /usr/local/bundle/gems/warden-1.2.7/lib/warden/proxy.rb:355:in `block in _run_strategies_for'
# /usr/local/bundle/gems/warden-1.2.7/lib/warden/proxy.rb:354:in `each'
# /usr/local/bundle/gems/warden-1.2.7/lib/warden/proxy.rb:354:in `_run_strategies_for'
# /usr/local/bundle/gems/warden-1.2.7/lib/warden/proxy.rb:324:in `_perform_authentication'
# /usr/local/bundle/gems/warden-1.2.7/lib/warden/proxy.rb:105:in `authenticate'
值得一提的是,在浏览器和系统(功能)规范中一切正常,因此,我认为出于某些原因,策略不会自动加载到我的其他规范中。
如果重要的话,我还会在测试中使用include Warden :: Test :: Mock。