it "is invalid with a duplicate email address" do
User.create(name: 'Joe', surname: 'Tester', email: 'test2er@example.com', password: 'password123')
user = User.new(name: 'Jane', surname: 'Tester', email: 'test2er@example.com', password: 'password123')
user.valid?
puts user.errors.full_messages
expect(user).to have(1).errors_on(:email)
end
是我的测试,当我运行它时,我得到expected 1 errors on :email, got 2
,user.errors.full_messages
告诉我我得到了
Email has already been taken
Email has already been taken
所以这是一次错误两次,为什么会这样?
答案 0 :(得分:0)
问题在于,在使用设计时无需验证电子邮件的唯一性。它已经有了这个验证,因此错误显示了两次。删除了我自己的验证并按预期填写了测试 - 有一个错误。