我的功能测试失败,因为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
但是,我的功能测试ALL都失败了,因为尽管我创建了一个登录用户,但每个控制器方法都在require_user
失败。
我该如何解决这个问题?