2009-10-19 6 views
1

나는 몇 가지 성능 테스트를 작성하고 있는데 사용자가에서 로그인 할 :레일스 성능 테스트에서 세션 객체에 어떻게 액세스합니까?

class CompaniesTest < ActionController::PerformanceTest 
    fixtures :all 
    def setup 
    login_as(:cyrille) 
    end 
    def test_homepage 
    get '/' 
    end 
end 

문제는 : 어떻게 login_as를 구현해야을?

내가 시도 :

private 
    def login_as(user) 
    @request = ActionController::TestRequest.new 
    @request.session[:user] = user ? users(user).id : nil 
    end 

그러나 세션 [: 사용자] 그것이 응용 프로그램에 의해 확인됩니다 때 비어 있습니다.

분명히 PerformanceTest에서 생성 된 세션 개체가 있어야하지만 어떻게 액세스해야하는지 알 수 없습니다.

답변

0

나는이 줄을 제거하려고 할 것이다 :

@request = ActionController::TestRequest.new 

PerformanceTest 그렇게 @request가 이미 정의되어야한다 IntegrationTest의 서브 클래스입니다.

관련 문제