Mikä on kurkunkieli?
Gherkin on liiketoiminnalle luettava kieli, joka auttaa sinua kuvaamaan liiketoimintaa käyttäytymättä yksityiskohtiin toteutuksesta. Se on toimialuekohtainen kieli testien määrittelemiseksi kurkku-muodossa eritelmien mukaan. Se käyttää tavallista kieltä käyttötapausten kuvaamiseen ja antaa käyttäjien poistaa logiikan yksityiskohdat käyttäytymistesteistä.
Gherkin langauge -teksti toimii automaattisten testiesi dokumentaationa ja luuranko. Gherkin-muoto perustuu TreeTop-kielioppiin, joka on olemassa yli 37 kielellä. Siksi voit kirjoittaa kurpitsaasi yli 37 puhetulla kielellä.
Tällä käsikirjoituksella on kaksi ensisijaista tarkoitusta:
- Asiakirjojen käyttäjäskenaariot
- Automaattisen testin (BDD) kirjoittaminen
Tässä Gherkin-opetusohjelmassa opit
- Mikä on kurkunkieli?
- Miksi Gherkin?
- Kurpitsan syntaksia
- Gherkinissä käytetyt tärkeät termit
- Kurpitsaesimerkki
- Gherkinin käytön parhaat käytännöt
- Gherkinin edut
Miksi Gherkin?
Gherkinin tarve voidaan helposti selittää seuraamalla kuvia
Ennen Kurpitsaa
Gherkinin jälkeen
Kurpitsan syntaksia
Gherkin on linjakeskeinen kieli aivan kuten YAML ja Python. Jokainen rivi, jota kutsutaan vaiheeksi, alkaa avainsanalla ja päätelaitteiden lopussa pysäytyksellä. Sarkainta tai välilyöntiä käytetään sisennykseen.
Tässä komentosarjassa kommentti voidaan lisätä mihin tahansa, mutta sen pitäisi alkaa # -merkillä. Se luki jokaisen rivin poistettuaan Ghrekinin avainsanat annettuina, milloin, sitten jne.
Tyypilliset kurpitsa-askeleet näyttävät tältä:
Gherkin-komentosarjat: yhdistää ihmisen käsitteen syy ja seuraus ohjelmistokäsitteeseen syöttö / prosessi / tuotos.
Kurpitsa-syntakse:
Ominaisuus: Skenaarion otsikkoAnnettu [Edellytykset tai alkukonteksti]Kun [Tapahtuma tai Trigger]Sitten [Odotettu tulos]
Gherkin-asiakirjalla on .feature-laajennus ja yksinkertaisesti vain testitiedosto hienolla laajennuksella. Kurkku lukee Gherkin-asiakirjan ja suorittaa testin varmistaakseen, että ohjelmisto käyttäytyy Gherkin-syntaksin mukaisesti.
Gherkinissä käytetyt tärkeät termit
- Ominaisuus
- Tausta
- Skenaario
- Annettu
- Kun
- Sitten
- Ja
- Mutta
- Esimerkkejä skenaarioista
Nimeämiskäytäntöä käytetään ominaisuuden nimeksi. Kurkussa ei kuitenkaan ole vahvistettu nimiä koskevia sääntöjä.
Ominaisuus:
Tiedostolla on oltava .feature-laajennus ja jokaisella ominaisuustiedostolla saa olla vain yksi ominaisuus. Feature-avainsana on Feature: -ominaisuuden kanssa ja sen jälkeen lisätään välilyönti ja ominaisuuden nimi.
Skenaario:
Jokaisella ominaisuustiedostolla voi olla useita skenaarioita, ja jokainen skenaario alkaa Scenario: -näytöllä ja sen jälkeen skenaarion nimellä.
Tausta:
Tausta-avainsana auttaa sinua lisäämään tilannetta kontekstiin. Se voi sisältää joitain vaiheita skenaariosta, mutta ainoa ero on, että se tulisi suorittaa ennen jokaista skenaariota.
Annettu:
Given-avainsanan avulla järjestelmä asetetaan tuttuun tilaan ennen kuin käyttäjä alkaa olla vuorovaikutuksessa järjestelmän kanssa. Voit kuitenkin jättää käyttäjän vuorovaikutuksen kirjoittamisen annettuihin vaiheisiin, jos se on annettu "Edellytys" -vaiheessa.
Syntaksi:
Annettu
Annettu - testivaihe, joka määrittelee kontekstinKoska olen kanavalla "/".
Kun:
Kun vaihe on määritellä käyttäjän suorittama toiminta.
Syntaksi:
Kun
A Milloin - testivaihe, joka määrittelee suoritetun 'toiminnon'Kun suoritan "Kirjaudu sisään".
Sitten:
'Sitten' -avainsanan on tarkoitus nähdä tulos toiminnan jälkeen vaiheessa. Voit kuitenkin tarkistaa vain havaittavat muutokset.
Syntaksi:
Sitten
Sitten - testivaihe, joka määrittelee 'lopputuloksen'.Sitten minun pitäisi nähdä "Tervetuloa Tom".
Ja Mutta
Sinulla voi olla useita annettuina milloin tai sitten.
Syntaksi:
Mutta
Mutta - ylimääräinen testivaihe, joka määrittelee 'toiminnan' tuloksen. 'Mutta minun pitäisi nähdä "Tervetuloa Tom".
Ja - ylimääräinen testivaihe, joka määrittelee suoritetun toiminnanJa kirjoitan "EmailAddress" merkinnällä " Tämä sähköpostiosoite on suojattu spamboteilta. Tarvitset Javascriptin nähdäksesi sen ..."
Annettu, milloin, sitten ja, mutta ovat testivaiheita. Voit käyttää niitä keskenään. Tulkki ei näytä virheitä. Niillä ei kuitenkaan varmasti ole mitään järkeä lukiessa.

Gherkinissä käytetyt tärkeät termit
Koska kirjautumissivu avautuuKun syötän käyttäjänimen, salasanan ja napsautan Kirjaudu sisään -painikettaSitten olen kotisivulla
Kurpitsa-esimerkkejä
Esimerkki 1:
Ominaisuus: Sosiaalisen verkostoitumisen Facebook-kirjautumistoiminto.Annettu: Olen facebook-käyttäjä.Milloin: Annan käyttäjänimen käyttäjänimeksi.Ja kirjoitan salasanan salasanaksiSitten minut pitäisi ohjata facebookin kotisivulle
Edellä mainittu skenaario on ominaisuus, jota kutsutaan käyttäjän kirjautumiseksi.
Kaikki lihavoidut sanat ovat kurpitsa-avainsanoja.
Gherkin analysoi jokaisen vaiheen määritystiedostoon kirjoitetun vaiheen. Siksi vaiheet annetaan ominaisuustiedostossa ja vaiheen määritystiedoston tulisi vastata toisiaan.
Esimerkki 2:
Ominaisuus: Käyttäjän todennuksen tausta:Koska käyttäjä on jo rekisteröity verkkosivustolle Skenaario:Koska käyttäjä on kirjautumissivullaKun käyttäjä antaa oikean sähköpostiosoitteenJa käyttäjä syöttää oikean salasananJa käyttäjä napsauttaa Kirjaudu-painikettaSitten käyttäjän tulisi olla todennettuJa käyttäjä tulisi ohjata kojelautaansaJa käyttäjälle tulisi esittää menestysviesti
Gherkinin käytön parhaat käytännöt
- Kukin skenaario on suoritettava erikseen
- Jokainen ominaisuus pitäisi voida suorittaa yhdessä
- Vaiheiden tiedot tulee näyttää itsenäisesti
- Yhdistä skenaariosi vaatimuksiisi
- Seuraa täydellisesti, mitä skenaarioita tulisi sisällyttää vaatimusasiakirjaan
- Luo modulaarisia ja helposti ymmärrettäviä vaiheita
- Yritä yhdistää kaikki yleiset skenaariosi
Gherkinin edut
- Gherkin on tarpeeksi yksinkertainen muille kuin ohjelmoijille ymmärtämään
- Ohjelmoijat voivat käyttää sitä erittäin vankana perustana testien aloittamiseen
- Se helpottaa käyttäjätietojen sulattamista
- Yritysjohtajat ja kehittäjät voivat helposti ymmärtää Gherkin-komentosarjan
- Gherkin-testaus kohdistuu liiketoiminnan vaatimuksiin
- Merkittävä osa toiminnallisista spesifikaatioista on kirjoitettu käyttäjätietoina
- Sinun ei tarvitse olla asiantuntija ymmärtääksesi pienen Gherkin-komentojoukon
- Gherkin-testitapaukset linkittävät hyväksyntätestit suoraan automaattisiin testeihin
- Testitapausten tyyli on helpompi käyttää koodia uudelleen muissa testeissä
Korvakorun haitat
- Se vaatii korkeaa sitoutumista yrityksiin ja yhteistyötä
- Ei välttämättä toimi kaikissa tilanteissa
- Huonosti kirjoitetut testit voivat helposti lisätä testin ylläpitokustannuksia
Yhteenveto:
- Kurkku on kurkkumääritysten muoto
- Gherkin on linjakeskeinen kieli aivan kuten YAML ja Python
- Gherkin Scripts yhdistää ihmisen käsitteen syy ja seuraus ohjelmistokäsitteeseen panos / prosessi ja tuotos
- Ominaisuus, Tausta, Skenaario, Annetut, Milloin, Sitten Ja Mutta ovat tärkeitä Gherkinissä
- Gherkinissä jokaisen skenaarion tulisi tapahtua erikseen
- Gherkinin suurin etu on tarpeeksi yksinkertainen muille kuin ohjelmoijille ymmärtämään
- Kurpitsa-testi ei välttämättä toimi hyvin kaikissa skenaarioissa