Estoy tratando de probar para ver si un campo de entrada coincide con una de mis fábricas donde el campo está vacío.¿Cómo se prueba para un campo de entrada vacío?
address => {:first_name => '', :last_name => ''}
Cuando la comprobación de lo que está en el campo de entrada He estado usando esto:
assert_select '#first_name[value=?]', address.first_name
Excepto esto no funciona si el nombre está en blanco. Obtendré este error y la prueba falla.
Expected at least 1 element matching "#first_name[value='']", found 0.
<false> is not true.
Esto tiene sentido porque el código generado no tendrá el atributo de valor. ¿Hay una mejor manera de verificar el valor de un campo de entrada?
A partir de ahora para probar esto puedo verificar si el campo de dirección está en blanco y luego verificar si hay un campo de entrada sin un atributo de valor. Pero esto es desordenado y detallado.
Ejemplo de un registro universal que funciona, pero es largo:
if address.first_name.blank?
assert_select '#first_name[value]', 0
assert_select '#first_name[type=text]', 1
else
assert_select '#first_name[value=?]', address.first_name
end
Información relacionada estoy usando:
hpricot 0.8.1
Nokogiri 1.1.1
Rails 2.2.2
Thoughtbot -Shoulda 2.0.5
Webrat 0.4.1
duplicado posible de [Cómo afirmar que un elemento de entrada está vacía en Ruby on Rails pruebas] (http: // stackoverflow.com/questions/6308158/how-to-assert-that-an-input-element-is-empty-in-ruby-on-rails-tests) – jasondoucette