Поиск…


замечания

Определения шагов находятся на языке программирования, поддерживаемом данной реализацией 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-селектор соответствует элементу на странице, который содержит данный текст. Обратите внимание, что это ожидание не сработает, если запрос браузера не удался.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow