我正在尝试进行功能测试,需要使用 Warden 登录。
我已经做好了:
class ActionController::TestCase
include Warden::Test::Helpers
end
我的测试用例很简单:
def test_access_admin_as_superuser
login_as(Person.make(:superuser))
get :index
assert_response :success
assert_nil flash[:warning]
end
我做了 alogin_as(user)
并且它似乎可以工作,除非我做 aget '/admin'
它会失败:
1) Error:
test_access_admin_as_superuser(AdminControllerTest):
NoMethodError: undefined method `user' for nil:NilClass
/home/silas/.rubygems/gems/gems/rails_warden-0.5.2/lib/rails_warden/controller_mixin.rb:21:in `current_user'
app/controllers/application_controller.rb:100:in `require_user'
test/functional/admin_controller_test.rb:20:in `test_access_admin_as_superuser'
有任何想法吗?