En aquest tema, aprendrem a escriure el nostre primer escenari utilitzant la sintaxi Gherkin. Els escenaris són una part fonamental del BDD (Behavior-Driven Development) i ens permeten descriure el comportament esperat del sistema en un llenguatge que és comprensible tant per a desenvolupadors com per a no tècnics.
Objectius d'aprenentatge
- Comprendre l'estructura bàsica d'un escenari Gherkin.
- Escriure un escenari senzill utilitzant les paraules clau Given, When, Then.
- Aprendre a utilitzar comentaris per a una millor documentació.
Estructura d'un escenari Gherkin
Un escenari Gherkin es compon de les següents parts:
- Feature: Descriu la funcionalitat que s'està provant.
- Scenario: Defineix un cas específic que es vol provar.
- Given: Estableix el context inicial del sistema.
- When: Descriu l'acció que es realitza.
- Then: Defineix el resultat esperat després de l'acció.
Exemple d'un escenari senzill
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" indica que l'escenari tracta sobre la funcionalitat de login.
- Scenario: "Successful login with valid credentials" descriu el cas específic que es vol provar.
- Given: "the user is on the login page" estableix el context inicial.
- When: "the user enters valid credentials" descriu l'acció que es realitza.
- Then: "the user should be redirected to the dashboard" defineix el resultat esperat.
Comentaris en Gherkin
Els comentaris es poden afegir utilitzant el símbol #
. Són útils per proporcionar informació addicional o aclariments sobre l'escenari.
# This is a comment explaining the feature Feature: Login functionality # This scenario tests a successful login 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
Exercici pràctic
Escriu un escenari per a la funcionalitat de cerca en una botiga en línia.
- Defineix una característica per a la funcionalitat de cerca.
- Escriu un escenari on un usuari cerca un producte existent.
- Utilitza les paraules clau Given, When, Then per descriure el procés.
Solució suggerida
Feature: Search functionality Scenario: Search for an existing product Given the user is on the homepage When the user searches for "laptop" Then the search results should display products related to "laptop"
Errors comuns i consells
-
Error: No definir clarament el context inicial amb Given.
- Consell: Assegura't que el context inicial sigui clar i específic per evitar confusions.
-
Error: Escriure escenaris massa complexos.
- Consell: Mantingues els escenaris simples i enfocats en un sol comportament per facilitar la comprensió i manteniment.
Conclusió
Ara que has après a escriure el teu primer escenari amb Gherkin, estàs preparat per explorar més sobre com utilitzar les paraules clau Given, When, Then de manera efectiva. En el següent tema, aprofundirem en l'ús d'aquestes paraules clau per crear escenaris més detallats i robustos.
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