cucumber
Definiciones de pasos
Buscar..
Observaciones
Las definiciones de los pasos están en el lenguaje de programación soportado por una implementación dada de Cucumber. Este tema proporciona ejemplos de definiciones de pasos en cada lenguaje de programación compatible y ejemplos de uso de llamadas a la API de Cucumber en definiciones de pasos.
Algunas definiciones simples de Ruby Step.
En features / 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
Estos pasos ejercitan una aplicación web. Son lo más simples que pueden ser al mismo tiempo que siguen siendo prácticos.
Cada paso comienza con una palabra clave Gherkin, que en un archivo de definición de paso es un método que registra un paso con Cucumber. El método de definición de pasos toma una expresión regular, que coincide con una línea en un escenario, y un bloque, que se ejecuta cuando el escenario llega a una línea coincidente. Los grupos de captura en la expresión regular se pasan al bloque como parámetros de bloque.
El paso When tiene un ejemplo simple, en línea, de pasar de una referencia legible a una página ("Documentación") a una URL. Las suites de Real Cucumber usualmente ponen esta lógica en un método separado. El método de visit es proporcionado por Capybara. Capybara no está obligada a usar Pepino, aunque es muy común que se use con él. visit le dice al navegador controlado por Capybara que visite la URL dada.
El paso Then muestra cómo se puede probar el contenido de una página. expect / to es proporcionado por RSpec (de nuevo, no es requerido por Cucumber pero se usa muy comúnmente con él). have_css es proporcionado por Capybara. La expectativa es que el selector CSS dado coincida con un elemento en la página que contiene el texto dado. Tenga en cuenta que esta expectativa fallaría si la solicitud del navegador hubiera fallado.