Closed Komei22 closed 7 years ago
16:33:05 - INFO - Running: test/models/user_test.rb Started with run options --seed 6087 FAIL["test_email_validation_should_reject_invalid_addresses", UserTest, 0.02787700016051531] test_email_validation_should_reject_invalid_addresses#UserTest (0.03s) "foo@bar..com" should be invalid test/models/user_test.rb:36:in `block (2 levels) in <class:UserTest>' test/models/user_test.rb:34:in `each' test/models/user_test.rb:34:in `block in <class:UserTest>' 5/5: [=========================================================================] 100% Time: 00:00:00, Time: 00:00:00 Finished in 0.03608s 5 tests, 14 assertions, 1 failures, 0 errors, 0 skips 16:34:03 - INFO - Running: test/models/user_test.rb Started with run options --seed 13607 5/5: [=========================================================================] 100% Time: 00:00:00, Time: 00:00:00 Finished in 0.02518s 5 tests, 14 assertions, 0 failures, 0 errors, 0 skips
ch6.2.4演習
演習1
リスト 6.18にある有効なメールアドレスのリストと、リスト 6.19にある無効なメールアドレスのリストをRubularのYour test string:に転記してみてください。その後、リスト 6.21の正規表現をYour regular expression:に転記して、有効なメールアドレスのみがすべてマッチし、無効なメールアドレスはすべてマッチしないことを確認してみましょう。
演習2
先ほど触れたように、リスト 6.21のメールアドレスチェックする正規表現は、foo@bar..comのようにドットが連続した無効なメールアドレスを許容してしまいます。まずは、このメールアドレスをリスト 6.19の無効なメールアドレスリストに追加し、これによってテストが失敗することを確認してください。次に、リスト 6.23で示した、少し複雑な正規表現を使ってこのテストがパスすることを確認してください。
演習3
foo@bar..comをRubularのメールアドレスのリストに追加し、リスト 6.23の正規表現をRubularで使ってみてください。有効なメールアドレスのみがすべてマッチし、無効なメールアドレスはすべてマッチしないことを確認してみましょう。