【发布时间】:2012-03-04 21:28:02
【问题描述】:
我在测试控制器和使用 Warden 时遇到问题。
所有示例都指向存根 request.env['warden']。当我调用 env['warden'] 时,这会导致我的控制器出现问题,然后返回 nil。
举个粗略的例子,使用这个:
request.env['warden'] = double(Warden, :authenticate => nil,
:authenticate! => nil,
:authenticated? => false)
还有一个像这样的简单前置过滤器:
before_filter do
redirect_to new_user_session_url unless env['warden'].authenticated?
end
我收到了nil。
我只是设法使用controller.env['warden'] = ... 让它工作,它工作。
这是有道理的,因为它位于控制器级别,所以我想我的问题是在我见过的所有示例中它不起作用。
我的spec_helper 中有这个:
config.include Warden::Test::Helpers
任何帮助都会很棒!
【问题讨论】:
标签: ruby-on-rails rspec stubbing warden