En aquest tema, explorarem com utilitzar els esquemes d'escenari i els exemples en Gherkin per escriure escenaris més eficients i reutilitzables. Aquesta tècnica és especialment útil quan necessitem provar múltiples conjunts de dades amb la mateixa lògica.

Què són els esquemes d'escenari?

Els esquemes d'escenari són una manera de definir un escenari que es pot executar diverses vegades amb diferents conjunts de dades. Això es fa utilitzant una taula d'exemples que proporciona els valors per a cada execució.

Beneficis dels esquemes d'escenari:

  • Reutilització del codi: Permet escriure un sol escenari que es pot executar amb diferents dades.
  • Mantenibilitat: Facilita l'actualització dels escenaris, ja que només cal modificar la taula d'exemples.
  • Claredat: Millora la llegibilitat dels escenaris, ja que separa la lògica de prova de les dades.

Sintaxi dels esquemes d'escenari

Un esquema d'escenari es defineix amb la paraula clau Scenario Outline, seguida d'una taula d'Examples que conté els diferents conjunts de dades.

Estructura bàsica:

Scenario Outline: [Nom de l'esquema]
  Given [condició inicial] <paràmetre>
  When [acció] <paràmetre>
  Then [resultat esperat] <paràmetre>

Examples:
  | paràmetre1 | paràmetre2 | paràmetre3 |
  | valor1     | valor2     | valor3     |
  | valor4     | valor5     | valor6     |

Exemple pràctic

Suposem que estem provant una funcionalitat de login en una aplicació web. Volem verificar que diferents combinacions d'usuari i contrasenya produeixin els resultats esperats.

Escenari sense esquema:

Scenario: Login amb credencials vàlides
  Given l'usuari "usuari1" amb contrasenya "contrasenya1"
  When intenta iniciar sessió
  Then l'inici de sessió hauria de ser exitós

Scenario: Login amb credencials invàlides
  Given l'usuari "usuari2" amb contrasenya "contrasenya2"
  When intenta iniciar sessió
  Then l'inici de sessió hauria de fallar

Escenari amb esquema:

Scenario Outline: Provar el login amb diferents credencials
  Given l'usuari "<usuari>" amb contrasenya "<contrasenya>"
  When intenta iniciar sessió
  Then l'inici de sessió hauria de ser "<resultat>"

Examples:
  | usuari  | contrasenya  | resultat  |
  | usuari1 | contrasenya1 | exitós    |
  | usuari2 | contrasenya2 | fallar    |

Exercici pràctic

Exercici: Escriu un esquema d'escenari per provar una calculadora que suma dos números. Proporciona almenys tres conjunts de dades diferents.

Solució:

Scenario Outline: Sumar dos números
  Given que la calculadora està encesa
  When sumo <nombre1> i <nombre2>
  Then el resultat hauria de ser <resultat>

Examples:
  | nombre1 | nombre2 | resultat |
  | 2       | 3       | 5        |
  | 10      | 5       | 15       |
  | 7       | 8       | 15       |

Conclusió

Els esquemes d'escenari i els exemples són eines poderoses en Gherkin que permeten escriure escenaris més eficients i fàcils de mantenir. Utilitzant aquestes tècniques, podem provar múltiples conjunts de dades amb la mateixa lògica, millorant la cobertura de proves i la qualitat del nostre codi. En el següent tema, explorarem com utilitzar etiquetes i filtratge d'escenaris per gestionar millor les nostres proves.

© Copyright 2024. Tots els drets reservats