アプリにdeviseをインストールした後、機能テストを再び機能させようとしています。アプリは引き続き問題なく動作しますが、何らかの理由で「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は2番目のputsセッションにありましたが、「warden.user.user.key」にはありませんでした。「sign_in@user」を呼び出すかどうかに関係なく、常に「続行する前にサインインまたはサインアップする必要があります」というアラートでリダイレクトされます
編集-私はmm-deviseでdeviseを使用しています(MongoDBとMongomapperを使用しているため)
助けてくれてありがとう-それはデータベースをクリアしないことの問題であることが判明しました。ユーザーの作成方法は相互に上書きされませんでしたが、どのユーザーがサインインするかはあいまいでした。