Gherkin és un llenguatge de domini específic utilitzat per escriure escenaris de prova en el desenvolupament guiat per comportament (BDD). La seva sintaxi és senzilla i llegible per humans, la qual cosa permet que tant desenvolupadors com no desenvolupadors puguin entendre fàcilment les especificacions de les proves.
Conceptes clau de Gherkin
- Llenguatge llegible per humans: Gherkin està dissenyat per ser comprensible per qualsevol persona, independentment de la seva experiència tècnica.
- Estructura basada en paraules clau: Utilitza paraules clau específiques per definir l'estructura dels escenaris.
- Suport multillenguatge: Gherkin suporta múltiples idiomes, permetent que les proves es puguin escriure en l'idioma que millor s'adapti a l'equip.
Estructura bàsica de Gherkin
Un fitxer de característiques Gherkin es compon de diverses seccions clau:
- Feature (Característica): Descriu la funcionalitat que s'està provant.
- Scenario (Escenari): Defineix un cas de prova específic.
- Given (Donat), When (Quan), Then (Llavors): Són les paraules clau que defineixen els passos d'un escenari.
Exemple de fitxer de característiques
Feature: Login functionality
Scenario: Successful login with valid credentials
Given the user is on the login page
When the user enters valid credentials
Then the user should be redirected to the dashboardExplicació de l'exemple
- Feature: "Login functionality" descriu la funcionalitat general que s'està provant.
- Scenario: "Successful login with valid credentials" és un cas de prova específic dins de la funcionalitat de login.
- Given: Defineix l'estat inicial o les precondicions ("the user is on the login page").
- When: Descriu l'acció que es realitza ("the user enters valid credentials").
- Then: Defineix el resultat esperat ("the user should be redirected to the dashboard").
Exercici pràctic
Objectiu: Escriure un escenari Gherkin per a la funcionalitat de registre d'un usuari.
Instruccions
- Crea un fitxer de característiques anomenat
register.feature. - Defineix una característica anomenada "User registration".
- Escriu un escenari per a un registre d'usuari amb dades vàlides.
- Utilitza les paraules clau Given, When, Then per estructurar l'escenari.
Solució
Feature: User registration
Scenario: Successful registration with valid data
Given the user is on the registration page
When the user enters valid registration details
Then the user should see a confirmation messageErrors comuns i consells
- Evitar la complexitat: Mantingues els escenaris simples i directes. Cada escenari hauria de provar un sol comportament.
- Reutilització de passos: Si diversos escenaris comparteixen passos comuns, considera crear definicions de passos reutilitzables.
- Claredat en els noms: Utilitza noms clars i descriptius per a les característiques i escenaris.
Conclusió
La sintaxi Gherkin proporciona una manera clara i estructurada d'escriure escenaris de prova que són fàcils de llegir i entendre per a tots els membres de l'equip. En el següent tema, explorarem com escriure el teu primer escenari utilitzant aquesta sintaxi.
BDD amb Cucumber i Gherkin
Mòdul 1: Introducció al BDD
Mòdul 2: Començar amb Cucumber
- Configuració de l'entorn
- Creació del teu primer projecte Cucumber
- Comprensió dels fitxers de característiques
Mòdul 3: Escriure escenaris Gherkin
Mòdul 4: Definicions de passos
Mòdul 5: Tècniques avançades de Gherkin
Mòdul 6: Integració de Cucumber amb el desenvolupament
- Integració amb la integració contínua
- Utilitzant Cucumber amb diferents llenguatges
- Millors pràctiques per al BDD en equips
Mòdul 7: Funcions avançades de Cucumber
Mòdul 8: Aplicacions reals del BDD
- Estudi de cas: BDD en una aplicació web
- Estudi de cas: BDD en una arquitectura de microserveis
- Reptes i solucions en el BDD
