Programovanie

Používanie easyb s Maven

Easyb je veľmi zaujímavý spôsob, ako otestovať svoju aplikáciu Java v štýle BDD s jazykom Java. Ale nebolo by pekné, keby som mohol integrovať svoje príbehy BDD do procesu zostavovania Maven? Dobrá správa je, že môžete!

Písanie testovacieho príbehu v štýle BDD pomocou easyb je, no, ľahké. Groovy je vynikajúci spôsob, ako môžu vývojári v jazyku Java rýchlo a efektívne písať testy, aj keď nepoznajú jemnejšie stránky skriptovacieho jazyka Groovy. Napríklad nasledujúci testovací príbeh (v súbore s názvom „AccountDepositsStory.groovy“) skúma, čo by sa malo stať po otvorení nového bankového účtu:

 import com.wakaleo.onlinebank.domain.Account / ** * Jednoduchý scenár * / scenár „vklad peňazí na nový účet“, {daný „nový účet“, {účet = nový účet ()} pri „počiatočnom vklade je uskutočnené ", {suma = 100 account.makeDeposit (suma)} potom" zostatok by sa mal rovnať vloženej sume ", {account.balance.shouldBe čiastka}} 

Je to dosť ľahké a existuje veľa spôsobov, ako to vykonať. Skript môžete spustiť z príkazového riadku alebo pomocou úlohy Ant. Jednou z mojich najobľúbenejších techník je použitie pluginu IntelliJ, ktorý je skutočne veľmi cool. Ako užívateľ Maven podľa vlastného výberu však chcem skutočne integrovať skripty EasyB do procesu zostavovania Maven.

Ako sa ukázalo, aj to je vďaka

Doplnok Maven Easyb

. Stačí vložiť všetky svoje skripty príbehu EasyB pod

src / test / easyb

adresár a do svojich doplnkov na zostavenie pridajte odkaz na doplnok EasyB Maven, ako je to zobrazené tu:

  ... ... test org.easyb maven-easyb-plugin 0.9 

V tomto príklade sme nastavili Easyb tak, aby bežal počas

test

fáza životného cyklu (inými slovami, keď spustíte „test mvn“). Keď spustíte testy v Mavene, EasyB naštartuje a spustí všetky príbehy, ktoré nájde v

src / test / easyb

adresár. Podľa konvencie považuje akýkoľvek súbor končiaci na „* Story.groovy“, „* .story“, „* Specification.groovy“ alebo „* .specification“ za ľahký príbeh. Tu je uvedený príklad doplnku easyb v akcii:

 C: \ Users \ john \ projects \ onlinebank \ onlinebank-core>mvn test [INFO] Skenovanie projektov ... [INFO] -------------------------------------- ---------------------------------- [INFO] Budovanie onlinebank-core [INFO] segmentu úloh: [test ] [INFO] ---------------------------------------------- -------------------------- ... [INFO] [easyb: test {prevedenie: predvolené}] [INFO] Používanie závislosti easyb org. easyb: easyb: jar: 0.9: kompilácia [INFO] Použitie závislosti easyb commons-cli: commons-cli: jar: 1.1: kompilácia [INFO] Použitie závislosti easyb org.codehaus.groovy: groovy-all-minimal: jar: 1.5. 0: kompilácia [java] Príbeh spustenia účtu (AccountDepositsStory.groovy) [java] Spustenie scenárov: 2, Zlyhania: 0, Čakajúce: 0, Uplynutý čas: 0,368 s [java] Príbeh spustenia účtu (AccountWithdrawlsStory.groovy) [java ] Spustené scenáre: 2, Zlyhania: 0, Čakajúce: 0, Uplynutý čas: 0,123 s [java] Spustená špecifikácia otvoreného účtu (openAccount.specification) [java] Spustená špecifikácia: 2, Zlyhania: 0, Čakajúce: 0, Uplynutý čas: 0,038 s [java] Spustí sa 6 celkových správaní bez zlyhaní [ INFO] ------------------------------------------------ ------------------------ [INFO] STAVENÉ ÚSPEŠNÉ [INFO] ------------------ -------------------------------------------------- ---- [INFO] Celkový čas: 3 sekundy [INFO] Dokončené o: Po 11. augusta 10:09:24 NZST 2008 [INFO] Konečná pamäť: 8M / 14M [INFO] ---------- -------------------------------------------------- ------------ 

Nevýhodou je, že doplnok je stále trochu zelený - ešte sa neintegruje s generáciou stránok Maven, napríklad prehľady sú dosť základné a musíte si ho sami naviazať na fázu životného cyklu „testu“. Projekt je však veľmi dynamický a tieto podrobnosti by mali byť okamžite vyžehlené - takže buďte pripravení na najnovší vývoj BDD!

Ak sa chcete dozvedieť viac informácií o službe EasyB, budem prednášať na túto tému na konferencii Java Emerging Technologies Conference 2008 (JET 2008) v Aucklande 17. septembra, ako aj na prednáškach pre skupiny používateľov Java v Melbourne a Sydney, zatiaľ čo ja Týmto spôsobom sme zaviedli bootcampy pre Melbourne Java a Power Java. Takže ak máte záujem a v tejto oblasti, poďte s nami!

Tento príbeh „Používanie easyb s Mavenom“ bol pôvodne publikovaný spoločnosťou JavaWorld.

$config[zx-auto] not found$config[zx-overlay] not found