Linguaggio Gherkin: sintassi, formato ed esempi
โก Riepilogo intelligente
Gherkin รจ un linguaggio comprensibile per le aziende che descrive il comportamento del software senza dettagli di implementazione. Utilizza le parole chiave Given, When e Then per definire Cucumber scenari di test in linguaggio semplice, che fungono da documentazione dinamica e da scheletro per i test BDD automatizzati.

Cos'รจ la lingua cetriolino?
Cetriolino รจ un linguaggio comprensibile per le aziende che ti aiuta a descrivere il comportamento aziendale senza entrare nei dettagli di implementazione. ร un linguaggio specifico di dominio per definire i test in Cucumber formato. Utilizza un linguaggio semplice per descrivere i casi d'uso e consente agli utenti di rimuovere i dettagli logici dai test comportamentali.
Il testo in Gherkin funge da documentazione e da struttura portante per i test automatizzati. Il formato Gherkin si basa sulla grammatica TreeTop, disponibile in oltre 37 lingue, quindi รจ possibile scrivere codice Gherkin in piรน di 37 lingue parlate. Lo script ha due scopi principali: documentare gli scenari utente e fornire la base per la scrittura di test BDD automatizzati.
Perchรฉ Cetriolino?
Senza un formato condiviso e di facile comprensione, i team aziendali e tecnici descrivono i requisiti in modo diverso, il che causa incomprensioni. Gherkin offre a tutti un vocabolario unico e strutturato che si legge come un normale linguaggio, ma che si traduce direttamente in test eseguibili.
Sintassi del cetriolino
Gherkin รจ un linguaggio orientato alle righe, proprio come YAML e PythonOgni riga รจ chiamata passo e inizia con una parola chiave. Per l'indentazione si usano tabulazioni o spazi. ร possibile aggiungere un commento ovunque, ma deve iniziare con il simbolo #. L'interprete legge ogni riga dopo aver rimosso le parole chiave di Gherkin come Given, When e Then.
Feature: Title of the Scenario Given [Preconditions or Initial Context] When [Event or Trigger] Then [Expected output]
Un documento Gherkin ha l'estensione .feature ed รจ semplicemente un file di test con un'estensione descrittiva. Cucumber Legge il documento Gherkin ed esegue un test per verificare che il software si comporti come descritto dalla sintassi Gherkin.
Termini importanti utilizzati in Gherkin
Le parole chiave principali sono Caratteristica, Contesto, Scenario, Dato, Quando, Quindi, E, Ma e Schema dello scenario. Cucumber Non ci sono regole di denominazione rigide, ma una convenzione di denominazione chiara รจ utile.
Caratteristica
Il file deve avere l'estensione .feature e ogni file feature deve descrivere una sola funzionalitร . La parola chiave Feature inizia con caratteristica: seguito da uno spazio e dal nome della funzionalitร .
Scenario
Ogni file di funzionalitร puรฒ avere piรน scenari e ogni scenario inizia con Scenario: seguito dal nome dello scenario.
sfondo
La parola chiave Background aggiunge contesto allo scenario. Puรฒ contenere passaggi comuni a tutti gli scenari; la differenza รจ che questi passaggi vengono eseguiti prima di ogni scenario.
Dato
La parola chiave Given imposta il sistema in uno stato noto prima che l'utente inizi a interagire con esso. Definisce la precondizione o il contesto:
Given I am on "/."
Quando
La parola chiave When definisce l'azione eseguita dall'utente:
When I perform "Sign In."
Poi
La parola chiave Then definisce il risultato osservato dopo l'azione nella fase When. ร necessario verificare solo i cambiamenti evidenti:
Then I should see "Welcome Tom."
E ma
Potrebbero esserci piรน passaggi Dato, Quando o Allora. Le parole chiave E e Ma aggiungono passaggi extra per una migliore leggibilitร :
And I enter "EmailAddress" with "tomjohn@gmail.com." But I should see "Welcome Tom."
Given, When, Then, And e But sono tutti passaggi di test. L'interprete non genera un errore se li si scambia, ma lo scenario non risulterร comprensibile, quindi รจ importante utilizzare ogni parola chiave per lo scopo previsto.
Esempi di cetrioli
Esempio 1: Una funzione di accesso per un sito di social network.
Feature: Login functionality of a social networking site Given I am a registered user When I enter my username And I enter my password Then I should be redirected to the home page
Gherkin analizza ogni passaggio scritto nel file delle funzionalitร e i passaggi nel file delle funzionalitร devono corrispondere a quelli nel file di definizione dei passaggi.
Esempio 2: Uno scenario di autenticazione utente con uno sfondo.
Feature: User Authentication Background: Given the user is already registered on the website Scenario: Successful login Given the user is on the login page When the user inputs the correct email address And the user inputs the correct password And the user clicks the Login button Then the user should be authenticated And the user should be redirected to their dashboard
Migliori pratiche di utilizzo del cetriolino
- Ciascuno scenario deve essere eseguito separatamente e in modo indipendente.
- Ogni funzionalitร dovrebbe essere eseguibile autonomamente.
- Le informazioni relative ai passaggi devono essere visualizzate separatamente.
- Collega i tuoi scenari ai tuoi requisiti e track quali scenari appartengono a ciascun requisito.
- Crea passaggi modulari e facili da comprendere, combinando scenari comuni.
- Descrivi cosa fa il sistema, non come lo fa.
Vantaggi del cetriolo
- Gherkin รจ abbastanza semplice da poter essere compreso anche da chi non ha competenze di programmazione.
- I programmatori possono utilizzarlo come solida base di partenza per i loro test.
- Rende le user story piรน facili da comprendere e si concentra sui requisiti aziendali.
- I dirigenti aziendali e gli sviluppatori possono leggere lo stesso copione.
- I casi di test di Gherkin collegano direttamente i test di accettazione ai test automatizzati.
- Lo stile di scrittura facilita il riutilizzo del codice nei vari test.
Svantaggi di Gherkin
- Richiede un elevato livello di impegno e collaborazione da parte del mondo aziendale.
- Potrebbe non funzionare bene in ogni situazione.
- Test scritti male possono aumentare i costi di manutenzione dei test.
