Pregunta

Estoy trabajando en la creación de unas pruebas, y no puedo entender por qué la creación de un modelo de un form_for está fallando en la prueba, pero funciona en los navegadores reales. ¿Hay una manera sencilla para mí ver cuáles son los problemas en la creación de modelo?

Aún mejor sería, ¿hay una manera sencilla para mí para probar las salidas de error que el acceso a través error_messages_for? En ese caso, me gustaría añadir también en las pruebas que aseguran que las formas están mal formados dar salida a la corrección de errores.

¿Fue útil?

Solución

Puede acceder a los errores de validación en un objeto utilizando @model.errors. Utilice @model.errors.on(:field_name) para obtener una serie de mensajes de error aplicadas a un campo particular. También puede utilizar @model.errors.invalid?(:field_name) en sus pruebas para afirmar que un error fue provocado por un campo en particular.

Por ejemplo:

test "should reject invalid post" do
  @p = Post.new
  assert !@p.valid?
  assert_equal @p.errors.on(:title), 'cannot be blank'
end
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top