2. ¿Qué es Gherkin?
El lenguaje que permitirá al programador entender lo que alguien de negocio
quiere decir y viceversa
3. Feature
Feature: Envío de entradas por correo electrónico
Como socio del Alcoyano FC
Quiero recibir un email con mis entradas
Para poder imprimirlas y asistir al partido
Feature: [Descripción de la feature]
Como [rol]
Quiero [alguna cosa]
Para [que me va aportar]
Usamos lenguaje de criterios de
aceptación
Una feature de Gherkin puede
contener varias US
o una US puede estar definida en
varias features de Gherkin
4. Scenario
Scenario: El cliente tiene un abono de familiar
Given un cliente con abono familiar
When llega la fecha del partido
Then se le envían todas las entradas de su familia
Scenario: [Descripción del scenario]
Given ...
When ...
Then …
Una feature puede contener uno o
varios escenarios
Un escenario nos permite definir una
situación concreta
Un criterio de aceptación puede
corresponderse con varios
escenarios
5. Background
Background:
Given el premio de la lotería toca en la oficina
Scenario:
Given un trabajador que compró el décimo
When se entera de la noticia
Then se pone muy contento
Scenario:
Given un trabajador que no compró el
décimo
When se entera de la noticia
Then odio a sus compañeros de trabajo
Nos permite añadir contexto a
todos los escenarios de un
feature
El background sólo debe incluir
Given
6. Given
Given un cliente del BBVA
Given un cliente del BBVA
And tiene su nómina domiciliada
Given usuario de la web
And tiene su nómina domiciliada
Given tengo 5 latas de cocacola en la nevera
Es usado para presentarnos los
actores (y su entorno) de un
escenario
Siempre va en al comienzo de un
escenario (o/y background)
Para concatenar varios Given
usamos el keyword And
Given un piloto de fórmula I
And tiene un coche averiado
7. When
Representa la acción que ejecuta el
usuario
Aunque se pueden concatenar varios
When no es recomendable.
When es un utilizado después de
presentar los actores (Given)
When solicita un préstamo hipotecario
When el boleto comprado tiene premio
When es autenticado correctamente
When enviar sus datos a ser procesados
When confirma que los datos son correctos
And declara que acepta los términos y condiciones
8. Then
Then se muestra la posición global del cliente
Es utilizado para verificar el
resultado esperados después de
ejecutarse la acción (When)
Then el saldo del cliente es incrementado
Cuando concatenamos varios Then
debemos usar And
Then es utilizado al final de un
escenario
Then quedan 4 latas de cerveza en la nevera
Then se solicita el código de seguridad
Then aumenta el saldo de la cuenta ‘AAA’
And disminuye el saldo de la cuenta ‘BBB’
9. But
Su uso es exactamente el mismo que
Then pero usado para mostrar algo
negativo
No tiene un uso muy extendido.
But es utilizado al final de un
escenario
But no se muestra la posición global del cliente
But el cliente no es autenticado correctamente
Then aumenta el saldo de la cuenta ‘AAA’
But no aumenta el saldo de la cuenta ‘BBB’
10. Scenario outline
Scenario outline: Alquiler de peluches
Given Estoy en un centro comercial
And mi hijo quiere montar en un peluche con ruedas
When alquilo el peluche con ruedas durante <tiempo>
Then tengo que pagar <precio>
And se me queda cara de <cara_de>
Example:
Tiempo | Precio | cara de
15’ | 25€
| Me has timado
30’ | 60€
| Me has timado mucho
Se trata de un tipo de Scenario
concreto donde definimos datos de
entrada particulares
No se recomienda abusar de este
tipo.
Nos permite probar el mismo
escenario para distintos datos de
entrada.