Проверка регулярных выражений в рельсах TestCase - PullRequest
0 голосов
/ 06 июня 2019

Итак, в Rails я написал следующие проверки для электронного письма:

validates :email, presence: true, uniqueness: true
validates_format_of :email, :with => /\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/

Когда я пытаюсь отправить что-то с неправильным письмом, это работает, потому что отправляет мне ошибку, но когда я пытаюсь проверитьэто так:

test "should not save if email is not valid" do
    slogan = Slogan.create(firstname: 'tristan', lastname: 'vermeesch', email: 'titivermeeschgmail.com', slogan: 'Test')
    assert slogan.valid?, "Tried to save with an email that is not valid"
  end

Тест не пройден, может кто-нибудь помочь?

1 Ответ

2 голосов
/ 06 июня 2019

Если вы пытаетесь проверить, что ваша модель не должна быть сохранена и у нее должны быть ошибки при неправильном сообщении электронной почты, вы можете использовать действительный? метод и ошибка? имущество. Ваш тест будет выглядеть так:

test "should not save if email is not valid" do
    slogan = Slogan.create(firstname: 'tristan', lastname: 'vermeesch', email: 'titivermeeschgmail.com', slogan: 'Test')
    assert_not_nil slogan.errors[:email]
  end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...