【65日目】【1日20分のRailsチュートリアル】【第7章】ユーザー登録成功時のテスト
今日は「7.4.4 成功時のテスト」から。
7.4.4 成功時のテスト
有効な情報を送信して、ユーザーが作成されたことを確認します。
assert_difference
を使ってPOSTリクエスト送った後にユーザー数が1増えていることを確認する。
test/integration/users_signup_test.rb
test "valid signup information" do get signup_path assert_difference 'User.count', 1 do post_via_redirect users_path, user: { name: "Example User", email: "user@example.com", password: "password", password_confirmation: "password" } end assert_template 'users/show' end
users_pathにPOSTリクエストを送信するために、post_via_redirectというメソッドを使っていることに注目してください。
このメソッドは、POSTリクエストを送信した結果を見て、指定されたリダイレクト先に移動するメソッドです。
無効なユーザーのテストと違ってリダイレクトさせるのは、リダイレクト先のページのテストもしたいから、なのかな…?
(今回はしてないけど)
ちなみに、ここにflashのテストも追加しておくとよいでしょう。これは演習として残しておきます (7.7)。
flashのテストにリダイレクトが必要なんでしょう。多分。
テスト実行して問題ないことを確認。
$ bundle exec rake test 21 tests, 43 assertions, 0 failures, 0 errors, 0 skips
テストコードの意味を理解するのに時間かかった。
いざ自分で一から書くときに書けるかな。。。。
今日の作業時間は【21分】。
次は「7.5 プロのデプロイ」から。