【69日目】【1日20分のRailsチュートリアル】【第7章】演習の2.(無効なユーザー登録時のエラーメッセージのテストを追加)
今日は「7.7 演習」の2.から。
7.7 演習
- リスト7.18で実装したエラーメッセージに対するテストを書いてみてください。
どのくらい細かくテストするかはお任せします。リスト7.32にテンプレートを用意しておいたので、参考にしてください。
無効なユーザー(メールアドレスが無効とかパスワードの文字数足りないとか)を登録しようとしたときのエラーメッセージは、
・エラーメッセージ(エラーの数、エラーの詳細)
・エラーが出ているフォーム
を表示している。
無効なユーザーを登録しようとしたときに上記が表示されていることをテストすればいいのでテンプレートを元に書くとこんな感じ?
test/integration/users_signup_test.rb
test "invalid signup information" do : assert_select 'div#error_explanation' assert_select 'div.field_with_errors' end
テスト実行して問題ないことを確認。
$ bundle exec rake test 21 tests, 45 assertions, 0 failures, 0 errors, 0 skips
assert_select
については下記記事を参考にしました。
assert_select
を使うとレスポンスのHTMLが想定通りかをテストできるそう。
無効なユーザーを登録しようとしたときのビューに、エラーメッセージを表示する<div>
タグ(id名とclass名で指定)が含まれていればテストOK、という感じかな。
assert_select
の理解に結構時間がかかった。。。。一個しか進まなかった。
今日の作業時間は【30分】。
次は「7.7 演習」の3.から。