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 dashboard
Explicació 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 message
Errors 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