2009-09-23 6 views
10

Uczę się Cucumber i Webrat z Railsami i chciałbym uzyskać porady dotyczące najlepszego sposobu przetestowania formularza "edytuj". Kiedy przeglądam profil użytkownika, otrzymuję formularz edycji z danymi użytkownika wstępnie wypełnionymi w polach formularza. Chciałbym móc przetestować, czy pola rzeczywiście zawierają informacje, których się spodziewam. Tu jest mój scenariusz:Jak sprawdzić, czy formularz jest wstępnie wypełniony wartościami przy użyciu Cucumber i Webrat?

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 "[email protected]" in the "Email" field 
    And I should see a blank "Password" field 
    And I should see a blank "Password confirmation" field 

Ogórek mi mówi, słusznie, że muszę zdefiniować następujące niestandardowe czynności:

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

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

Jestem pewien, że mogę dowiedzieć się rzęsiste regex do wdrożenia oceny kroki , ale czuję, że musi istnieć coś, co już istnieje, lub bardziej eleganckie, co mogę zrobić. Jak oceniasz formularze z danymi wstępnie wypełnionymi w polach formularza?

Odpowiedz

15

Wystarczy popatrzeć na funkcje/step_definitions/webrat_steps.rb następującą definicję kroku wygląda to, czego szukasz:

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

Dang. Nie jestem pewien, jak to przegapiłem! Na tej podstawie stworzyłem wersję, która działa dla pustych pól. Jak w/^ pole "([^ \"] *) "powinno być puste $ /" realizowane jako "pole_zablokowane (pole) .value.should == zero". Dzięki! koniec' – SingleShot

Powiązane problemy