Gherkin Language: muoto, syntaksi ja pikkukurkkutesti sisään Cucumber

Mikä on Gherkin Language?

etikkakurkku on yrityksille luettava kieli, jonka avulla voit kuvata liiketoimintakäyttäytymistä menemättä toteuttamisen yksityiskohtiin. Se on verkkotunnuskohtainen kieli testien määrittämiseen Cucumber muotoa teknisiä tietoja varten. Se käyttää selkeää kieltä kuvaamaan käyttötapauksia ja antaa käyttäjille mahdollisuuden poistaa logiikkatietoja käyttäytymistestistä.

Gherkin-kielinen teksti toimii automaattisten testien dokumenttina ja rungona. Gherkin-muoto perustuu TreeTop Grammariin, joka on olemassa yli 37 kielellä. Siksi voit kirjoittaa kurkkusi yli 37 puhutulla kielellä.

Tällä skriptillä on kaksi ensisijaista tarkoitusta:

  • Dokumentoi käyttäjien skenaariot
  • Automaattisen testin (BDD) kirjoittaminen

Miksi Gherkin?

Gherkinin tarve on helppo selittää seuraavilla kuvilla

Ennen Gherkiniä

Ennen Gherkiniä

Gherkinin jälkeen

Gherkinin jälkeen

Gherkinin syntaksi

Gherkin on linjasuuntautunut kieli kuten YAML ja Python. Jokainen rivi nimeltä step ja alkaa avainsanalla ja päätteiden lopussa stop. Sisennykseen käytetään sarkainta tai välilyöntiä.

Tässä skriptissä kommentin voi lisätä minne tahansa, mutta sen pitäisi alkaa #-merkillä. Se luki jokaisen rivin poistamisen jälkeen Ghrekinin avainsanat annettuna, milloin, sitten jne.

Tyypilliset kurkkuportaat näyttävät

Gherkin Scripts: yhdistää ihmisen syyn ja seurauksen käsitteen ohjelmistokonseptiin tulo/prosessi/tulostus.

Gherkinin syntaksi

Feature: Title of the Scenario
Given [Preconditions or Initial Context]
When [Event or Trigger]
Then [Expected output]

Gherkin-asiakirjalla on tunniste .feature ja yksinkertaisesti vain testitiedosto, jolla on hieno pääte. Cucumber lukee Gherkin-asiakirjan ja suorittaa testin varmistaakseen, että ohjelmisto toimii Gherkin-syntaksin mukaisesti.

Tärkeitä termejä, joita käytetään Gherkinissä

  • Ominaisuus
  • Tausta
  • skenaario
  • Tietty
  • Kun
  • Sitten
  • Ja
  • Mutta
  • Esimerkkejä skenaarioista

Nimeämiskäytäntöä käytetään ominaisuuden nimessä. Siinä ei kuitenkaan ole asetettuja sääntöjä Cucumber nimistä.

Ominaisuus

Tiedoston tunnisteen tulee olla .feature ja jokaisessa ominaisuustiedostossa tulee olla vain yksi ominaisuus. Ominaisuuden avainsana on ominaisuuden mukana: ja sen jälkeen lisätään välilyönti ja ominaisuuden nimi.

skenaario

Jokaisella ominaisuustiedostolla voi olla useita skenaarioita, ja jokainen skenaario alkaa sanoilla Scenario: ja sen jälkeen skenaarion nimi.

Tausta

Taustaavainsana auttaa sinua lisäämään kontekstia skenaarioon. Se voi sisältää joitain skenaarion vaiheita, mutta ainoa ero on, että se tulee suorittaa ennen jokaista skenaariota.

Tietty

Given-avainsanan käyttö on järjestelmän saattamista tuttuun tilaan ennen kuin käyttäjä alkaa olla vuorovaikutuksessa järjestelmän kanssa. Voit kuitenkin jättää kirjoittamatta käyttäjän vuorovaikutusten kirjoittamisen Annetut vaiheet -kohtaan, jos Annettu "Edellytys"-vaiheessa.

Syntaksi:

Given
Given - a test step that defines the 'context
Given I am on "/."

Kun

Kun vaihe on määrittää käyttäjän suorittama toiminta.

Syntaksi:

When
A When - a test step that defines the 'action' performed
When I perform "Sign In."

Sitten

"Sitten"-avainsanan käyttö on nähdä tulos toiminnon jälkeen kun vaiheessa. Voit kuitenkin varmistaa vain havaittavia muutoksia.

Syntaksi:

 Then
Then - test step that defines the 'outcome.'
Then I should see "Welcome Tom."

Ja Mutta

Sinulla voi olla useita annettuja milloin tai sitten.

Syntaksi:

But
A But - additional test step which defines the 'action' 'outcome.'
But I should see "Welcome Tom."
And - additional test step that defines the 'action' performed
And I write  "EmailAddress" with "Tomjohn@gmail.com."

Annettu, Milloin, Silloin ja, mutta ovat testivaiheita. Voit käyttää niitä vaihtokelpoisesti. Tulkki ei näytä virhettä. Niissä ei kuitenkaan varmasti ole mitään "järkeä" luettaessa.

Tärkeitä termejä, joita käytetään Gherkinissä
Tärkeitä termejä, joita käytetään Gherkinissä
Given The login page is opening
When I input username, password and click the Login button 
Then I am on the Homepage

Kurkku-esimerkkejä

Esimerkki 1:

Feature:  Login functionality of social networking site Facebook. 
Given:  I am a facebook user. 
When: I enter username as username. 
And I enter the password as the password 
Then I should be redirected to the home page of facebook 

Yllä mainittu skenaario koskee ominaisuutta nimeltä käyttäjän kirjautuminen.

Gherkin analysoi jokaisen vaiheenmääritystiedostoon kirjoitetun vaiheen. Siksi vaiheet on annettu ominaisuustiedostossa ja vaiheen määritystiedoston tulee vastata.

Esimerkki 2:

Feature: User Authentication Background:
Given the user is already registered to the website Scenario:
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
And the user should be presented with a success message 

Gherkinin käytön parhaat käytännöt

  • Jokainen skenaario tulee suorittaa erikseen
  • Jokainen ominaisuus pitäisi pystyä suorittamaan mukana
  • Vaihetiedot tulee näyttää itsenäisesti
  • Yhdistä skenaariosi vaatimuksiisi
  • Pidä täydellinen kirjaa siitä, mitkä skenaariot tulisi sisällyttää vaatimusasiakirjaan
  • Luo modulaarisia ja helposti ymmärrettäviä vaiheita
  • Yritä yhdistää kaikki yhteiset skenaariot

Gherkinin edut

  • Gherkin on tarpeeksi yksinkertainen ei-ohjelmoijat ymmärtämään
  • Ohjelmoijat voivat käyttää sitä erittäin vankana pohjana testien aloittamiseen
  • Se tekee käyttäjien tarinoista helpompia sulattaa
  • Yritysjohtajat ja kehittäjät voivat helposti ymmärtää Gherkin-skriptin
  • Gherkin Testing keskittyy liiketoiminnan vaatimuksiin
  • Merkittävä osa toiminnallisista spesifikaatioista on kirjoitettu käyttäjätarinoina
  • Sinun ei tarvitse olla asiantuntija ymmärtääksesi pienen Gherkin-komentojoukon
  • Gherkin Test -tapaukset yhdistävät hyväksymistestit suoraan automaattisiin testeihin
  • Kirjoitustyyli testitapaukset on helpompi käyttää koodia muissa testeissä

Gherkinin haitat

  • Se vaatii korkeatasoista yritystoimintaa ja yhteistyötä
  • Ei välttämättä toimi hyvin kaikissa skenaarioissa
  • Huonosti kirjoitetut testit voivat helposti lisätä testin ylläpitokustannuksia

Yhteenveto

  • Gherkin on muoto kurkun eritelmille
  • Gherkin on linjasuuntautunut kieli kuten YAML ja Python
  • Gherkin Scripts yhdistää inhimillisen syyn ja seurauksen käsitteen ohjelmiston tulon/prosessin ja tulosteen käsitteeseen
  • Ominaisuus, tausta, skenaario, annettu, milloin, sitten ja mutta ovat tärkeitä Gherkinissä
  • Gherkinissä jokainen skenaario tulisi suorittaa erikseen
  • Gherkinin suurin etu on riittävän yksinkertainen, jotta ei-ohjelmoijat ymmärtävät sen
  • Gherkin Test ei välttämättä toimi hyvin kaikissa tilanteissa