Comment fill_in travail dans Rspec/Capybara?

Je suis Michael Hartl du Tutoriel Ruby on Rails. Lorsque j'utilise rspec/capybara, le fill_in méthode qui me rend confus. J'ai le texte suivant afficher le code:

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

C'est mon code de test:

 fill_in "Name", with: "Example User"

Il semble que l'étiquette et text_field sont tous deux nécessaires pour fill_in pour localiser le champ de saisie. Si je l'ai décollage f.label ou modifier <%= f.text_field :name %> être <%= f.text_field :another_name %>, le test va me donner ElementNotFound erreur. Quelqu'un peut-il expliquer comment le fill_in travaille ici? A l'entrée du champ et de l'étiquette à la fois nécessaire pour fill_in méthode?

OriginalL'auteur Joey Hu | 2014-09-27