验证重复的电子邮件失败

时间:2017-10-19 05:54:52

标签: ruby-on-rails rspec rspec-rails

我开始编写rspecs,这个用户模型的验证测试失败了:

  it 'is invalid with a duplicate email address' do
            User.create(
              username: 'tester',
              email: 'tester@example.com'
              )
            user = User.new(
              username: 'tester',
              email: 'tester@example.com'
              )
            user.valid?
            expect(user.errors[:email]).to include('has already been taken')
          end

在我看来,该模型确实验证了一封独特的电子邮件:

  validates :email, presence: true, length: { maximum: 255 },
                             format: { with: VALID_EMAIL_REGEX },
                             uniqueness: { case_sensitive: false }

我还尝试在rails控制台中进行测试,因此当用户收到重复的电子邮件时,会在用户上看到错误消息:@messages={:email=>["has already been taken"]}

当我更改to_not include时测试通过,但如上所示,它是错误消息的一部分。

什么可能导致这个问题?

0 个答案:

没有答案