Как использовать огурец в формах с пользовательскими метками - PullRequest
4 голосов
/ 05 марта 2010

Я пытаюсь узнать, как использовать огурец, и получил эту проблему:

У меня есть форма, которая:

  <p>
    <%= f.label :name, "Nome" %><br />
    <%= f.text_field :name %>
  </p>

И у меня есть особенность огурца:

  And I fill in "name" with "Reitoria do Porto"

Это делает тест неудачным с:

And I fill in "name" with "Reitoria do Porto"       # features/step_definitions/web_steps.rb:34
      Could not find field: "name" (Webrat::NotFoundError)
      (eval):2:in `fill_in'
      ./features/step_definitions/web_steps.rb:35:in `/^(?:|I )fill in "([^\"]*)" with "([^\"]*)"$/'
      features/manage_institutions.feature:10:in `And I fill in "name" with "Reitoria do Porto"'

Однако, если я просто сделаю форму, как это:

  <p>
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </p>

Тест пройден.

Как мне сохранить свое имя и сделать тестовый пропуск?

Ответы [ 2 ]

3 голосов
/ 06 марта 2010

Webrat использует текст метки, чтобы найти поле для заполнения. В первом примере вы не устанавливаете эту метку на «Nome»?

Работает ли And I fill in "Nome" with "Reitoria do Porto"?

1 голос
/ 05 марта 2010

Вы также можете использовать имя поля, как оно отображается в HTML. Так, если модель, к которой принадлежит name, скажем, User, тогда вы сможете получить к ней доступ через

И я заполняю "user_name" словами "Reitoria do Porto"

Если сомневаетесь, просто посмотрите на сгенерированный HTML-код и возьмите оттуда имя поля.

...