##はじめに
Railsチュートリアル7章「リスト7.23:無効なユーザー登録に対するテスト」のコードの解説です。
ユーザー登録ボタンを押したときに (ユーザー情報が無効であるために) ユーザーが作成されないことを確認します。
##コード
test/integration/users_signup_test.rb
require 'test_helper'
class UsersSignupTest < ActionDispatch::IntegrationTest
test "invalid signup information" do
get signup_path
#getメソッドでユーザー登録ページにアクセス
assert_no_difference 'User.count' do
#User.countが変わったらエラーを出す。
post users_path, params: { user: { name: "",
email: "user@invalid",
password: "foo",
password_confirmation: "bar" } }
#無効なユーザーデータをPOSTする
#正常な場合はUser.countは変わらずtrueとなる。
end
assert_template 'users/new'
#サインアップに失敗した時に再度ユーザー登録画面になることを確認。
end
end