Pregunta

Tengo la siguiente validación en mi activerecord.

validates :active, :inclusion => {:in => ['Y', 'N']}

Estoy usando lo siguiente para probar las validaciones de mi modelo.

should_not allow_value('A').for(:active)
should allow_value('Y').for(:active)
should allow_value('N').for(:active)

¿Existe una forma más limpia y más a través de la prueba de esto? Actualmente estoy usando RSPEC2 y Ceba de Matchers.

EDITAR

Después de mirar alrededor, solo encontré, esta es probablemente una forma 'ok' de probar esto, debería no proporcionar nada para esto y cualquiera que lo requiera puede escribir su propio combate personalizado para ello (y probablemente lo contribuya de nuevo al proyecto) . Algunos enlaces a discusiones que podrían ser interesantes:

  • Enlaces que indican a lo anterior. Enlace 1 , Enlace 2

  • should_ensure_value_in_range Este se acerca a lo que se puede usar, pero solo acepta rangos y no una lista de valores. Custom Matcher puede basarse en esto.

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top