¿Cómo funciona fill_in en Rspec / Capybara?

Estoy siguiendo el Tutorial Ruby on Rails de Michael Hartl. Cuando uso rspec / capybara, el método fill_in me confunde. Tengo el siguiente código de vista:

 <%= f.label :name %>   
 <%= f.text_field :name %>

Este es mi código de prueba:

 fill_in "Name", with: "Example User"

Parece que label y text_field son necesarios para fill_in para ubicar el campo de entrada. Si me despegof.label o cambiar<%= f.text_field :name %> ser<%= f.text_field :another_name %>, la prueba me daráElementNotFound error. ¿Alguien puede explicar cómo funciona el fill_in aquí? ¿Son necesarios el campo de entrada y la etiqueta parafill_in ¿método?

Respuestas a la pregunta(3)

Su respuesta a la pregunta