【问题标题】:Session gone in Integration Tests in Rails 2.3.10Rails 2.3.10 集成测试中的会话消失
【发布时间】:2010-12-27 14:20:56
【问题描述】:

在 Rails 2.3.8 中,我的集成测试(经过大量工作和this post 的帮助)能够跨请求使用单个会话。在 Rails 2.3.10 中,该功能中断,登录后,后续请求没有会话。

一个可能的症状是这段代码过去通过了:

open_session do |s|
 s.post 'login', :user=>{:user_name=>username, :password=>pass}
 assert_not_nil(s.session[:id])
end

现在它失败了(s.session[:id] 为零)。这可能是也可能不是 问题,因为我可以确认在登录操作期间存储在会话中的其他变量存在。但是在随后的 s.post 中,所有操作都报告说会话中没有任何内容。

有什么建议吗?我看到一个报告说 Rails 2.3.9 引入了一个会话错误,使用this 作为解决方法,但它似乎没有任何区别。

谢谢, 汤姆

【问题讨论】:

  • 我遇到了同样的问题。这让我疯狂!!!!我不知道这到底是怎么发生的。
  • 您最终找到解决方法了吗?刚刚尝试升级 2.3.5 -> 2.3.14 并遇到了同样的问题..

标签: ruby-on-rails integration-testing session-state


【解决方案1】:

你试过s.session.data[:id]

【讨论】:

    猜你喜欢
    • 2011-09-30
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-10
    相关资源
    最近更新 更多