0
這是消費類驗證如何通過RSPEC測試正則表達式驗證?
class Consumer < ActiveRecord::Base
validates :email, format: { with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i, on: :create, message: 'invalid email format'}, length: { maximum: 256 }
這是我用來測試消費者的電子郵件是否是有效的格式或沒有,但我得到的錯誤。除了這種方法之外,還有更好的方法來測試正則表達式嗎?
it 'email with invalid format is invalid' do
consumer = Consumer.new(email: 'bugs', password: '12345')
consumer.valid?
consumer.errors.full_messages
expect(consumer.errors.get(:email)).to eq(['email is not valid'])
end
it 'has no errors for valid email format' do
consumer = Consumer.new(email: '[email protected]', password: '12345')
consumer.valid?
consumer.errors.full_messages
expect(consumer.errors.get(:email)).to be_nil
end
非常感謝你的幫助@Gerry – mm24mm