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

  1. 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".
  2. 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".
  3. 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.

© Copyright 2024. Tots els drets reservats