Как проверить, что форма предварительно заполнена значениями с помощью Cucumber и Webrat?

Я изучаю огурец и Webrat с Rails и хотел бы получить несколько советов о лучшем способе тестирования формы "редактировать". Когда я просматриваю Профиль пользователя, мне представляется форма редактирования с информацией пользователя, предварительно заполненной в полях формы. Я хотел бы иметь возможность проверить, что поля действительно содержат информацию, которую я ожидаю. Вот мой сценарий:

  Scenario: View My Profile
    Given  I am logged in as "Mike" with password "secret"
    When I go to my profile page
    Then I should see "Mike" in the "Login" field
    And I should see "mike@email.com" in the "Email" field
    And I should see a blank "Password" field
    And I should see a blank "Password confirmation" field

огурец говорит мне, правильно, что мне нужно определить следующий обычай шаги:

Then /^I should see "([^"]*)" in the "([^"]*)" field$/ do |arg1, arg2|
  pending
end

Then /^I should see a blank "([^"]*)" field$/ do |arg1|
  pending
end

Я уверен, что могу выяснить некоторые неприятные regex для реализации оценки этих шагов, но я чувствую, что должно быть что-то уже существующее или более элегантное, что я могу сделать. Как вы оцениваете формы с данными, предварительно заполненными в полях формы?

1 ответов


посмотрите на функции / step_definitions / webrat_steps.rb, следующее определение шага выглядит так, как вы ищете:

Then /^the "([^\"]*)" field should contain "([^\"]*)"$/ do |field, value|
  field_labeled(field).value.should =~ /#{value}/
end