我的功能测试失败了,因为current_user
无法识别我的经过身份验证的用户。
这是一部分application_controller
(也有其他require_*
过滤器):
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.user
end
def require_user
unless current_user
store_location_with_url
redirect_to login_url
return false
end
end
我正在使用 Authlogic、Factory Girl 和 Test::Unit 创建登录用户:
# test_helper.rb
require 'authlogic/test_case'
# functional test
class LinksControllerTest < ActionController::TestCase
setup :activate_authlogic
setup do
@link = FactoryGirl.create :link
@employer = @link.employer
@user = @employer.user
UserSession.create(@user)
end
end
但是,我的功能测试全部失败,因为尽管我创建了一个登录用户,但每个控制器方法在require_user
.
我怎样才能解决这个问题?