Kornišonikeel: vorming, süntaks ja Korvitsatest kurgis

Lang L: none (table-of-contents):

Anonim

Mis on kornišonikeel?

Kornišon on ärilugemiskeel, mis aitab teil kirjeldada ärikäitumist juurutamise üksikasjadesse laskumata. See on domeenipõhine keel testide määratlemiseks kurgi vormingus spetsifikatsioonide jaoks. See kasutab kasutusjuhtumite kirjeldamiseks selget keelt ja võimaldab kasutajatel käitumiskatsetest loogika üksikasjad eemaldada.

Gherkin langauge tekst toimib teie automatiseeritud testide dokumentatsiooni ja skeletina. Kornišonivorming põhineb TreeTopi grammatikal, mis eksisteerib enam kui 37 keeles. Seetõttu saate oma kornišoni kirjutada vähemalt 37 kõneldavas keeles.

Sellel skriptil on kaks peamist eesmärki:

  • Dokumendid kasutaja stsenaariumid
  • Automaatse testi (BDD) kirjutamine

Selles Gherkini õpetuses saate teada

  • Mis on kornišonikeel?
  • Miks Gherkin?
  • Kornišoni süntaks
  • Kornišokis kasutatud olulised terminid
  • Kornišoni näide
  • Gherkini kasutamise parimad tavad
  • Gherkini eelised

Miks Gherkin?

Gherkini vajadust saab hõlpsalt seletada piltide järgimisega

Enne kornišoni

Pärast Gherkinit

Kornišoni süntaks

Kornišon on liinile orienteeritud keel nagu YAML ja Python. Iga rida, mida nimetatakse sammuks, algab märksõnaga ja terminalide lõpp peatusega. Taane jaoks kasutatakse sakki või tühikut.

Selles skriptis saab kommentaari lisada kuhu iganes soovite, kuid see peaks algama # -märgiga. See luges iga rida pärast Ghrekini märksõnade eemaldamist, nagu ette nähtud, millal, siis jne.

Tüüpilised Kornišoni sammud näevad välja:

Kornišoniskriptid: seob inimese põhjuse ja tagajärje kontseptsiooni sisendi / protsessi / väljundi tarkvarakontseptsiooniga.

Kornišoni süntaks:

Motiiv: stsenaariumi pealkiriArvestades [eeltingimused või esialgne taust]Kui [sündmus või käivitaja]Seejärel [eeldatav väljund]

Gherkini dokumendil on laiend .feature ja lihtsalt väljamõeldud laiendiga testfail. Kurk loeb Gherkini dokumenti ja viib läbi testi, et kontrollida, kas tarkvara käitub Gherkini süntaksis.

Kornišokis kasutatud olulised terminid

  • Tunnusjoon
  • Taust
  • Stsenaarium
  • Antud
  • Millal
  • Siis
  • Ja
  • Aga
  • Stsenaariumi üldnäited

Funktsioonide nime jaoks kasutatakse nimetamiskorda. Kurkides pole aga nimede kohta kehtestatud reegleid.

Tunnusjoon:

Failil peaks olema laiendus .feature ja igal funktsioonifailil peaks olema ainult üks funktsioon. Funktsiooni märksõna on funktsiooniga Feature: ja pärast selle lisamist kirjutatakse tühik ja funktsiooni nimi.

Stsenaarium:

Igal funktsioonifailil võib olla mitu stsenaariumi ja iga stsenaarium algab tähega Stsenaarium: järgneb stsenaariumi nimi.

Taust:

Taustamärksõna aitab teil stsenaariumisse konteksti lisada. See võib sisaldada stsenaariumi mõningaid samme, kuid ainus erinevus on see, et see tuleks käivitada enne iga stsenaariumi.

Arvestades:

Antud märksõna kasutamine on süsteemi viimine tuttavasse olekusse enne, kui kasutaja süsteemiga suhtlema hakkab. Kasutajate interaktsioonide kirjutamise võite jaotises Antud sammud välja jätta, kui see on antud etapis "Eeltingimus".

Süntaks:

Antud
Antud - testi samm, mis määratleb kontekstiArvestades, et olen teemal "/".

Millal:

Kui samm on kasutaja poolt toimingu määratlemine.

Süntaks:

Millal
A Millal - testi samm, mis määratleb sooritatud toiminguKui esitan "Logi sisse".

Siis:

Märksõna „siis” eesmärk on näha tulemust pärast toimingut millal. Siiski saate kontrollida ainult märgatavaid muudatusi.

Süntaks:

 Siis
Seejärel - testi samm, mis määratleb tulemuse.Siis peaksin nägema "Welcome Tom".

Ja & Aga

Teil võib olla mitu antud millal või siis.

Süntaks:

Aga
A - täiendav testisamm, mis määrab „tegevuse” tulemuse.Kuid ma peaksin nägema "Welcome Tom".
Ja - täiendav testisamm, mis määratleb sooritatud toiminguJa ma kirjutan "EmailAddress" tekstiga " See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peate lubama JavaScripti ..."

Arvestades, millal, siis ja, kuid on katseastmed. Saate neid omavahel vahetada. Tõlk ei näita ühtegi viga. Kuid lugemisel pole neil kindlasti mingit "mõtet".

Kornišokis kasutatud olulised terminid

Antud Sisselogimisleht avanebKui sisestan kasutajanime, parooli ja klõpsan nuppu Logi sisseSiis olen kodulehel

Kõrvitsa näited

Näide 1:

Motiiv: suhtlusportaali Facebook sisselogimise funktsionaalsus.Arvestades: Olen facebooki kasutaja.Millal: sisestan kasutajanimeks kasutajanime.Ja sisestan paroolina parooliSiis tuleks mind suunata facebooki avalehele

Eespool nimetatud stsenaarium on funktsioon, mida nimetatakse kasutaja sisselogimiseks.

Kõik paksus kirjas olevad sõnad on Gherkini märksõnad.

Gherkin analüüsib kõiki sammu määratlusfailis kirjutatud samme. Seetõttu antakse toimingud funktsioonifailis ja sammu määratlusfail peaks vastama.

Näide 2:

Funktsioon: kasutaja autentimise taust:Arvestades, et kasutaja on juba veebisaidil registreeritud, stsenaarium:Arvestades, et kasutaja on sisselogimislehelKui kasutaja sisestab õige e-posti aadressiJa kasutaja sisestab õige parooliJa kasutaja klõpsab nuppu Logi sisseSiis peaks kasutaja olema autentitudJa kasutaja tuleks suunata oma armatuurlaualeJa kasutajale tuleks edusõnum esitada

Gherkini kasutamise parimad tavad

  • Iga stsenaarium peaks toimuma eraldi
  • Iga funktsiooni peaks saama koos rakendada
  • Teavet sammude kohta tuleks näidata iseseisvalt
  • Ühendage oma stsenaarium oma nõuetega
  • Jälgige täiel määral, millised stsenaariumid peaksid olema nõude dokumendis
  • Looge modulaarsed ja hõlpsasti mõistetavad sammud
  • Proovige ühendada kõik levinumad stsenaariumid

Gherkini eelised

  • Kornišon on piisavalt lihtne, et mitte-programmeerijad saaksid sellest aru
  • Programmeerijad saavad seda testide alustamiseks kasutada väga kindla alusena
  • See muudab kasutajalugude kergemini seeditavaks
  • Korvitsakiri on ettevõtte juhtidele ja arendajatele hõlpsasti mõistetav
  • Korvitsatestimine on suunatud ärinõuetele
  • Märkimisväärne osa funktsionaalsetest spetsifikatsioonidest on kirjutatud kasutajate lugudena
  • Väikese Gherkini käsurea mõistmiseks ei pea olema asjatundja
  • Korvitsatesti juhtumid seovad aktsepteerimistestid otse automatiseeritud testidega
  • Testide juhtumite kirjutamise stiili on teistes testides lihtsam koodi uuesti kasutada

Kõrvitsa puudused

  • See nõuab äritegevuse kõrget taset ja koostööd
  • Ei pruugi kõigi stsenaariumide korral hästi töötada
  • Halvasti koostatud testid võivad testide hoolduskulusid lihtsalt suurendada

Kokkuvõte:

  • Kornišon on kurgi spetsifikatsioonide formaat
  • Kornišon on liinile orienteeritud keel nagu YAML ja Python
  • Gherkin Scripts seob inimese põhjuse ja tagajärje kontseptsiooni sisendi / protsessi ja väljundi tarkvara kontseptsiooniga
  • Funktsioon, taust, stsenaarium, antud, millal, siis ja aga on olulised Gherkinis
  • Gherkinis peaksid kõik stsenaariumid toimuma eraldi
  • Gherkini suurim eelis on piisavalt lihtne, et mitte-programmeerijad saaksid sellest aru
  • Korvitsatest ei pruugi kõigi stsenaariumide korral hästi töötada