「Validation failed: Email has already been takenというエラーが出る」
概要と原因
・テストにおいて、userを複数名作成しようとした際に、emailが重複していたために起きたエラー。
・複数のemailをFakerを使って作成するために、sequence(:email) {Faker::Internet.email}
を追記したものの、元々のemailを削除していなかったために、それが呼び出され、エラー原因となっていた。
spec/factories/users.rb
FactoryBot.define do
factory :user do
nickname {"aaa"}
email {"aaaaa@aaaaa"} ←不要
password {"00000000"}
password_confirmation {"00000000"}
sequence(:email) {Faker::Internet.email}
end
end
コメント