cucumber
Definicje kroków
Szukaj…
Uwagi
Definicje kroków są w języku programowania obsługiwanym przez daną implementację Cucumber. W tym temacie podano przykłady definicji kroków w każdym obsługiwanym języku programowania oraz przykłady użycia wywołań API Cucumber w definicjach kroków.
Kilka prostych definicji kroków Ruby
W features / step_definitions / dokumentacja.rb:
When /^I go to the "([^"]+)" documentation$/ do |section|
path_part =
case section
when "Documentation"
"documentation"
else
raise "Unknown documentation section: #{section}"
end
visit "/documentation/#{path_part}/topics"
end
Then /^I should see the "([^"]+) documentation"$/ do |section|
expect(page).to have_css('h2.doctag_title a', text: section)
end
Te kroki wykonują aplikację internetową. Są tak proste, jak mogą być, a jednocześnie są praktyczne.
Każdy krok rozpoczyna się słowem kluczowym Korniszon, które w pliku definicji kroku jest metodą rejestrującą krok za pomocą Ogórka. Metoda definiująca krok przyjmuje wyrażenie regularne, które pasuje do linii w scenariuszu, oraz blok, który jest wykonywany, gdy scenariusz dotrze do pasującej linii. Grupy przechwytywania w wyrażeniu regularnym są przekazywane do bloku jako parametry bloku.
Krok When ma prosty, liniowy przykład przejścia z czytelnego dla człowieka odwołania do strony („Dokumentacja”) na adres URL. Zestawy Real Cucumber zwykle umieszczają tę logikę w osobnej metodzie. Metodę visit zapewnia Capybara. Kapibara nie jest wymagana do używania Ogórka, chociaż jest bardzo często stosowana z nim. visit informuje przeglądarkę kontrolowaną przez Capybara o odwiedzenie danego adresu URL.
Krok Then pokazuje, w jaki sposób można przetestować zawartość strony. expect / to jest dostarczany przez RSpec (ponownie, nie wymagany przez Cucumber, ale bardzo często używany z nim). have_css zapewnia Capybara. Oczekuje się, że dany selektor CSS pasuje do elementu na stronie, który zawiera podany tekst. Pamiętaj, że to oczekiwanie nie powiedzie się, jeśli żądanie przeglądarki nie powiedzie się.