Тестирование Ruby on Rails: Как я могу протестировать или, по крайней мере, увидеть form_for error_messages_for? - PullRequest
1 голос
/ 09 марта 2010

Я работаю над созданием тестов и не могу понять, почему создание модели из form_for не удается в тесте, но работает в реальных браузерах. Есть ли у меня простой способ увидеть, в чем проблемы при создании модели?

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

1 Ответ

1 голос
/ 09 марта 2010

Вы можете получить доступ к ошибкам проверки объекта, используя @model.errors. Используйте @model.errors.on(:field_name), чтобы получить массив сообщений об ошибках, примененных к определенному полю. Вы также можете использовать @model.errors.invalid?(:field_name) в своих тестах, чтобы утверждать, что ошибка была вызвана для определенного поля.

Например:

test "should reject invalid post" do
  @p = Post.new
  assert !@p.valid?
  assert_equal @p.errors.on(:title), 'cannot be blank'
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...