出于某种原因,我的测试登录控制器的集成测试突然无效。刚升级到2.3.9并且遇到了奇怪的问题。 2.3.5甚至2.3.8一切都很好!以下是一些不再通过的代码:
def login_user
visit login_url
assert_response :success
assert_template "new"
post session_url, :email => "abc@123.com", :password => "secret"
assert_response :redirect
follow_redirect!
assert_response :success
assert_template "sessions/organizations"
post organizations_session_url, :id => organizations(:ace).id
assert_response :redirect
follow_redirect!
assert_response :success
assert_template "mission_control/index"
end
当用户登录时,他们的id会被保存到会话[:user_id]。当我运行上面的测试时,它在第一个follow_redirect之后失败!似乎会话[:user_id]已被清除,然后要求用户在刚刚执行时再次登录。什么可能导致我的会话被清除?我没有触及任何东西。 Rails 2.3.5很好。 Rails中有错误吗?
由于
(顺便说一下,网站运行正常。只是集成测试似乎弄乱了我的会话。)
答案 0 :(得分:0)
好吧我明白了。 2.3.10也有同样的问题。
我没有使用Rails 2.3.10 gem,而是从github上的2.3分支下载了最新的稳定代码并冻结了。我猜Rails宝石已经过时了。
由于