2009-10-19 64 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应该已经确定。