Presentación Gherkin

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 21

Lenguaje Gherkin

Estructura Básica de ejecución en Cucumber

Runner
(Clase principal)

Lee e interpreta Ejecuta lo interpretado


aplicando

Archivo
StepDefinition
Feature (Clase de métodos)
(Lenguaje Gherkin)
Feature
• Representa una funcionalidad del software a probar.
• Se crea un archivo independiente por cada funcionalidad, no se integra
las pruebas de todas las funcionalidades en un solo archivo .feature
• La palabra reservada Feature: va al inicio de cada archivo .feature seguido
del nombre de la funcionalidad o la historia de usuario ideal de la
funcionalidad en la que se basa.
• Seguido de esta, se redactan los escenarios que se pueden probar de esa
funcionalidad.
Historias de Usuario
Scenario
• Representa un camino de prueba o modo de uso de la funcionalidad.
• La palabra reservada Scenario: declara el inicio de un Escenario y finaliza
cuando aparezca de nuevo, ya que declara el inicio del escenario
siguiente.
• Seguida de la palabra Scenario: se escribe el nombre del modo de uso de
la funcionalidad o la historia de usuario que aplica.
• Se compone de pasos o Steps, los cuales se representan por las palabras
reservadas Given, When, Then y por los comodines And, But, y *.
• Se puede emplear la palabra Example: como sinónimo de Scenario:
Given, When y Then
• Representan la estructura mínima que debe tener un Scenario.
• Deben seguir cierto orden para que la redacción posea sentido.
• Given representa una precondición que debe cumplirse para iniciar a probar la funcionalidad.
• When representa una acción que ejecuta la funcionalidad en prueba.
• Then representa una condición que se debe cumplir después de ejecutada la acción.

Given When Then


(Precondición) (Acción) (Validación)
And, But, *
• Representan palabras que pueden sustituir a Given, When y Then y evitar la repetición.
• Se emplean para mejorar la redacción del escenario y sea mucho más legible.
• And se coloca cuando se quiere añadir un step que complemente al step anterior.
• But permite reemplazar a Then cuando la validación implica que no se observa un resultado
concreto.

Given And When And Then But


(Precondición) (Precondición) (Acción) (Acción) (Validación) (Validación)
Ejemplo de lo visto:
Ejemplo de lo visto:
Ejemplo de lo visto:
Scenario Outline y Examples
• Scenario Outline: Se emplea de la misma forma que Scenario: cuando se desea ejecutar ese mismo
escenario múltiples veces pero usando diferentes nombres o valores.
• Se complementa con la palabra reservada Examples:, la cual define el inicio de una tabla de valores
que se usarán en el Scenario Outline:
Background:
• Encontraremos en algunos Feature, que en todos sus escenarios se repiten muchos pasos del Given,
y resulta largos y complejos de leer.
• Background define los pasos de precondición que se repiten en todos los escenarios y evita la
duplicación de texto y simplifica el archivo Gherkin

Escenario 1 Background Given When Then


Feature
Escenario 2 Background Given When Then
Rule:
El propósito de la palabra clave Rule es representar una regla comercial que debe implementarse.
Proporciona información adicional para una función. Una regla se utiliza para agrupar varios escenarios
que pertenecen a esta regla empresarial. Una regla debe contener uno o más escenarios que ilustren la
regla en particular.
Estructura básica Background Given

de un archivo Given

Feature: Scenario When

Feature
Then

Given

When
Scenario
Outline
Then

Examples
Tags
• Son una forma de ejecutar los escenarios de prueba selectivamente.
• Se definen con una @ al inicio del tag.
• Se definen en el archivo Feature pero la selección de los escenarios ocurre en la clase Runner
Tags (Ejemplos de selección)
tags = {“@SmokeTest”} Ejecuta todos los escenarios bajo el tag @SmokeTest
tags = {“@gui”} Ejecuta todos los escenarios bajo el tag @gui, como en el ejemplo tenemos una feature bajo este tag, se
ejecutarán todos los escenarios de esa feature.
tags = {“@SmokeTest, @wip”} Ejecuta todos los escenarios que estén bajo el tag @SmokeTest o bajo el tag @wip
(condición OR).
tags = {“@SmokeTest”, “@RegressionTest”} Ejecuta todos los escenarios que estén bajo los tags @SmokeTest y
@RegressionTest (condición AND).
tags = {“~@SmokeTest”} ignora todos los escenarios bajo el tag @SmokeTest
tags = {“@RegressionTest, ~@SmokeTest”} ejecuta todos los escenarios bajo el tag @RegressionTest, pero ignora todos
los escenarios bajo el tag @SmokeTest
tags = {“@gui“, “~@SmokeTest”, “~@RegressionTest”} ignora todos los escenarios bajo el tag @SmokeTest y
@RegressionTest pero ejecuta todos los que estén bajo el tag “@gui”, si seguimos el ejemplo es como ejecutar todos los
escenarios de la feature que no estén bajo ningún otro tag.
Doc Strings
• Los Docs Strings son útiles para agregar cadenas de caracteres largas a un step de una forma más
prolija
• Para utilizarlos, se debe agregar el texto deseado en el step entre tres comillas dobles (“””)
Data Tables
Las Data Tables, en su estructura y utilidad, son muy similares a Scenario Outlines. Sus dos diferencias
principales son:
• Las Data Tables son definidas a nivel de un step y no a nivel del escenario, por lo cual sirven para
pasar datos de entrada a un solo paso dentro del escenario.
• No es necesario definirles un cabezal, aunque es útil y recomendable para poder referenciar los
datos con mayor facilidad.
Comentarios
Los comentarios de línea se declaran con el carácter ‘#’.
No son soportados comentarios de bloque en Gherkin.

Lenguaje:
Gherkin permite múltiples idiomas.
Se configura al inicio del archivo .feature usando un comentario de la forma:
#language: XX
Donde XX corresponde a la abreviatura del país del idioma que se va a utilizar.
Ejemplos:
#language: es para español
#language: en para inglés
#language: fr para francés
Muchas gracias.

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy