【发布时间】:2012-08-18 17:27:44
【问题描述】:
在将设计安装到我的应用程序后,我正试图让我的功能测试再次运行。该应用程序仍然可以完美运行,但由于某种原因,在我使用“sign_in @user”后,数据在会话中,但在我尝试“get :index”之类的操作后,设计(看守)会话数据不再存在
test "should get index" do
@user = FactoryGirl.create(:user)
session[:session_id] = 4
session['warden.user.user.key'] = sign_in @user
puts session
get :index
puts session
assert_response :success
assert_not_nil assigns(:departments)
end
我手动设置了会话 ID 和“warden.user.user.key”,但 session_id 在第二个 puts 会话中存在,而不是“warden.user.user.key”。无论我是否调用“sign_in @user”,它总是会重定向并显示“您需要登录或注册才能继续”提示
编辑 - 我正在使用带有 mm-devise 的设计(因为我使用的是 MongoDB 和 Mongomapper)
感谢您的帮助 - 原来是没有清除数据库的问题。创建用户的方式并没有相互覆盖,但是哪个用户将被登录是模棱两可的。
【问题讨论】:
标签: ruby-on-rails-3 devise functional-testing