En aquest tema, explorarem la sintaxi bàsica de Gherkin utilitzada per escriure escenaris de comportament en BDD: les paraules clau Given, When, i Then. Aquestes paraules clau ajuden a estructurar els escenaris de manera clara i comprensible tant per a desenvolupadors com per a no desenvolupadors.
Conceptes Clau
-
Given (Donat)
- Defineix el context inicial de l'escenari.
- S'utilitza per establir l'estat del sistema abans que es produeixi l'acció principal.
- Exemple: "Donat que l'usuari està registrat al sistema".
-
When (Quan)
- Descriu l'acció o esdeveniment que es realitza.
- Representa l'acció principal que desencadena el comportament que volem provar.
- Exemple: "Quan l'usuari inicia sessió amb credencials vàlides".
-
Then (Aleshores)
- Especifica el resultat esperat després de l'acció.
- Utilitzat per verificar que el sistema es comporta com s'espera.
- Exemple: "Aleshores l'usuari hauria de veure el seu tauler de control".
Exemple Pràctic
Vegem un exemple complet d'un escenari utilitzant Given, When, i Then:
Feature: Inici de sessió d'usuari Scenario: Inici de sessió amb credencials vàlides Given l'usuari està a la pàgina d'inici de sessió When l'usuari introdueix el nom d'usuari "johndoe" i la contrasenya "password123" Then l'usuari hauria de ser redirigit al tauler de control And hauria de veure un missatge de benvinguda
Explicació de l'Exemple
- Given: Estableix que l'usuari es troba a la pàgina d'inici de sessió, preparant el context per a l'acció.
- When: Descriu l'acció de l'usuari d'introduir les credencials.
- Then: Verifica que l'usuari és redirigit correctament i veu un missatge de benvinguda.
- And: Utilitzat per afegir més verificacions al resultat esperat.
Exercici Pràctic
Escriu un escenari utilitzant Given, When, Then per a la funcionalitat de restabliment de contrasenya.
Solució Proposada
Feature: Restabliment de contrasenya Scenario: Restabliment de contrasenya amb correu electrònic vàlid Given l'usuari està a la pàgina de restabliment de contrasenya When l'usuari introdueix el correu electrònic "[email protected]" Then l'usuari hauria de rebre un correu electrònic de restabliment de contrasenya And hauria de veure un missatge de confirmació a la pàgina
Errors Comuns i Consells
- No definir clarament el context: Assegura't que el Given estableixi clarament l'estat inicial.
- Accions múltiples en un sol When: Mantingues cada When per a una sola acció per claredat.
- Resultats no verificables: Els Then han de ser mesurables i verificables.
Conclusió
L'ús de Given, When, i Then és fonamental per escriure escenaris de BDD clars i efectius. Aquesta estructura ajuda a comunicar les expectatives de comportament de manera que tothom en l'equip pugui entendre-les i contribuir-hi. En el següent mòdul, explorarem com crear definicions de passos per implementar aquests escenaris en Cucumber.
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