Ruby on Railes 第8章

8.1.5 フラッシュのテスト

$ bundle exec rake test TEST=test/integration/users_login_test.rb
$ bundle exec rake test

8.2 ログイン

8.2.1 log_inメソッド

8.2.2 現在のユーザー

8.2.3 レイアウトリンクを変更する

8.2.4 レイアウトの変更をテストする

8.2.5 ユーザー登録時にログイン

8.3 ログアウト

8.4 [このアカウント設定を保存する]

8.4.1 記憶トークンと暗号化

8.4.2 ログイン状態の保持

8.4.3 ユーザーを忘れる

8.4.4 2つの目立たないバグ

8.4.5 “Remember me” チェックボックス

8.4.6 Rememberのテスト

[remember me] ボックスをテストする 0も1もRubyの論理値ではtrue log_in_asというヘルパーメソッドを作成してテスト用にログインできるようにし

log_in_asではテストの種類を検出して、それに応じたログインを行えるようにする defined?メソッドを使用 引数の内容が定義されている場合はtrueを、その他の場合はfalseを返します post_via_redirectメソッド (リスト7.26) が統合テストの場合にのみアクセス可能 defined?(post_via_redirect) ... 統合テストの実行中にはtrueを返し、その他の場合にはfalseを返します

記憶ブランチをテストする

assert_equal <期待する値>, <実際の値>

bundle exec rake test TEST=test/helpers/sessions_helper_test.rb

8.5 最後に

変更をmasterブランチにマージ git add -A git commit -m "Finish log in/log out" git checkout master git merge log-in-log-out

リモートリポジトリとproductionサーバーにもプッシュ bundle exec rake test git push git push heroku heroku run rake db:migrate

本番サイトでは、変更を行う前に以下のようにメンテナンスモードをオンにしておく heroku maintenance:on git push heroku heroku run rake db:migrate heroku maintenance:off

8.5.1 本章のまとめ