在将设计安装到我的应用程序后,我正试图让我的功能测试再次运行。该应用程序仍然可以完美运行,但由于某种原因,在我使用“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 和 Mongoapper)
感谢您的帮助 - 原来是没有清除数据库的问题。创建用户的方式并没有相互覆盖,但是哪个用户将登录是模棱两可的。