0

我的功能测试失败了,因为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.

我怎样才能解决这个问题?

4

0 回答 0