cucumber
Определения шагов
Поиск…
замечания
Определения шагов находятся на языке программирования, поддерживаемом данной реализацией Cucumber. В этом разделе приведены примеры определений шагов в каждом поддерживаемом языке программирования и примеры использования вызовов API Cucumber в определениях шагов.
Некоторые простые определения шага Ruby
В функциях / step_definitions / documentation.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
На этих этапах выполняется веб-приложение. Они примерно так же просты, как и могут быть, пока они практичны.
Каждый шаг начинается с ключевого слова Gherkin, которое в файле определения шага является методом, который регистрирует шаг с огурцом. Метод определения шага принимает регулярное выражение, которое соответствует строке в сценарии, и блок, который выполняется, когда сценарий попадает в соответствующую строку. Группы захвата в регулярном выражении передаются блоку в качестве параметров блока.
В шаге « When есть простой пример в строке «Переход от удобочитаемой ссылки на страницу (« Документация ») к URL-адресу. Реальные комплекты Cucumber обычно используют эту логику в отдельном методе. Метод visit предоставляется Capybara. Capybara не требуется использовать огурец, хотя он очень часто используется с ним. visit браузер, контролируемый Capybara, чтобы посетить данный URL.
Шаг Then показывает, как можно проверить содержимое страницы. expect / to предоставляется RSpec (опять же, не требуется огурцом, но очень часто используется с ним). have_css предоставляется have_css . Ожидается, что данный CSS-селектор соответствует элементу на странице, который содержит данный текст. Обратите внимание, что это ожидание не сработает, если запрос браузера не удался.