ruby-on-rails - session 在 Rails 2.3.10 的集成测试中消失

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

在 Rails 2.3.8 中,我的集成测试(经过相当多的工作,以及 this post 的帮助)能够跨请求使用单个 session 。在 Rails 2.3.10 中,该功能失效,登录后,后续请求没有 session 。

一个可能的症状是这段代码曾经通过:

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

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

有什么建议吗?我看到一份报告说 Rails 2.3.9 引入了一个 session 错误 this作为解决方法,但它似乎没有什么不同。

谢谢, 汤姆

最佳答案

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

关于ruby-on-rails - session 在 Rails 2.3.10 的集成测试中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4539309/

相关文章:

ruby-on-rails - 每隔这么多字符向字符串添加换行符的功能?

javascript - 为什么我的字符串只有在我手动输入时才有效?

grails - 使用元类方法替换后没有方法签名?

php - 测试 - 如何对这种常见场景进行分类和处理

asp.net - 如何查看所有事件 session 的 session 状态中的所有内容?

asp.net - ASP.NET session 状态/NInject/OnePerRequest 行为的问题

ruby-on-rails - 在 ruby​​ 中委派了 nil 属性

ruby-on-rails - Rails 5 中的自定义错误 JSON

java - 从 Spring Boot 集成测试运行原始应用程序

c# - 在调用 ASMX Web 服务时保持 session