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