統合テストでエラーが4つ出るはずのところが3つしか認識されません。
しかし、コンソールでerrorを調べたところ4つのエラーが確認されています。
どういうことなのでしょうかご教示いただきたいです。
require 'test_helper'
class UsersEditTest < ActionDispatch::IntegrationTest
def setup
@user = users(:michael)
end
test "unsuccessful edit" do
get edit_user_path(@user)
assert_template 'users/edit'
patch user_path(@user), params: { user: { name: "",
email: "foo@invalid",
password: "foo",
password_confirmation: "bar" } }
assert_template 'users/edit'
assert_select "div.alert", "The form contains 4 errors"
end
end
コンソールにて
user.errors.full_messages
=> ["Name can't be blank", "Email is invalid", "Password confirmation doesn't match Password", "Password is too short (minimum is 6 characters)"]
エラーメッセージ
<The form contains 4 errors> expected but was
<The form contains 3 errors.>..
Expected 0 to be >= 1.
あなたの回答
tips
プレビュー