当前位置:  开发笔记 > 后端 > 正文

为什么我的会话在使用PerformanceTest而不是IntegrationTest时会过期?

如何解决《为什么我的会话在使用PerformanceTest而不是IntegrationTest时会过期?》经验,为你挑选了0个好方法。

好吧,我正在编写性能测试,并且无法像在集成测试中那样保持会话持续存在.据我所知,PerformanceTest是IntegrationTest的子代,任何集成测试都应该与性能测试一起使用.但是,当我进行集成测试并将其复制到性能时,将ActionController :: IntegrationTest更改为ActionController :: PerformanceTest,然后运行测试,它会失败.

我正在使用Authlogic并且没有遇到集成测试会话的问题.通过性能测试虽然看起来会正确创建会话但是当我访问"/ reports"页面(这是一个受保护的页面)时,它会将我重定向到登录页面,就像根本没有用户会话一样.

require 'performance_test_help'

class SimpleTest < ActionController::PerformanceTest
  setup :activate_authlogic

  test "login" do
    assert user_session = UserSession.create!(User.find_by_login("admin"))

    get "/reports"
    assert_response :success
  end
end

这里发生了什么?我已经尝试了多种方式来获得用户会话(创建,发布等),似乎没有任何工作.这是我第一次写性能测试,所以我可能做了一些愚蠢的事......

BTW:我在Debian Squeeze上运行Ruby 1.8.7,Rails 2.2.2.

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有