現在ruby on rails tutorialの9章を学習中です。
次のテストのある部分に引っかかりを感じて調べましたが、情報を得られなかったのでこちらで質問させていただきます。
発生している問題・エラーメッセージ
次のtestで一度クッキーを保存してログインするのを煩わしく感じ、「#クッキーを削除してログイン」以降の2行のみ書いてテストしたところ、remember_tokenがnilではないようでtestがfailになりました。
なぜ、何もしていない状態でremember_tokenが存在するのでしょうか。よろしくおねがいします。
加えて、consoleなどを使用してこの問題の原因を発見する、具体的な方法も教えていただければ幸いです。
test "login without remembering" do #クッキーを保存してログイン log_in_as(@user, remember_me: '1') delete logout_path #クッキーを削除してログイン log_in_as(@user, remember_me: '0') assert_empty cookies['remember_token'] end
該当のソースコード
リスト 9.25 test/integration/users_login_test.rb
require 'test_helper' class UsersLoginTest < ActionDispatch::IntegrationTest def setup @user = users(:michael) end . . . test "login with remembering" do log_in_as(@user, remember_me: '1') assert_not_empty cookies['remember_token'] end test "login without remembering" do # クッキーを保存してログイン log_in_as(@user, remember_me: '1') delete logout_path # クッキーを削除してログイン log_in_as(@user, remember_me: '0') assert_empty cookies['remember_token'] end end
試したこと
関係ないとは思いますが、念の為ブラウザのcookiesも消しましたが、同じくfailでした。
テストを下記のようにしてassert_emptyのみでも試しましたが、やはりfailでした。
test "login without remembering" do assert_empty cookies['remember_token'] end
補足情報(FW/ツールのバージョンなど)
PC:Mac version:10.14.6
ruby 2.6.3
rails 5.1.6
あなたの回答
tips
プレビュー