2009-10-19 95 views
1

我寫一些性能測試,我希望用戶先登錄 :如何在Rails性能測試中訪問會話對象?

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 

PerformanceTestIntegrationTest子類,所以@request應該已經確定。