Korištenje easyba s Mavenom

Easyb je vrlo kul način za testiranje Java aplikacije u BDD stilu s Javom. Ali ne bi li bilo lijepo kad biste mogli integrirati svoje BDD priče u svoj Mavenov postupak izrade? Dobra vijest je da možete!

Napisati testnu priču u BDD stilu s easybom je, pa, jednostavno. Groovy je izvrstan način za programere Java da napišu testove brzo i učinkovito, čak i ako ne znaju preciznije točke skriptnog jezika Groovy. Na primjer, sljedeća priča o ispitivanju (u datoteci nazvanoj "AccountDepositsStory.groovy") istražuje što bi se trebalo dogoditi kada otvorite novi bankovni račun:

 import com.wakaleo.onlinebank.domain.Account /** * A simple scenario */ scenario "depositing money onto a new account", { given "a new account",{ account = new Account() } when "an initial deposit is made", { amount = 100 account.makeDeposit(amount) } then "the balance should be equal to the amount deposited", { account.balance.shouldBe amount } } 

Ovo je dovoljno jednostavno, a postoji mnogo načina da se to izvrši. Skriptu možete pokrenuti iz naredbenog retka ili pomoću zadatka Ant. Jedna od mojih najdražih tehnika je korištenje dodatka IntelliJ, što je uistinu vrlo cool. Međutim, kao izabrani korisnik Mavena, ono što stvarno želim jest integrirati EasyB skripte u postupak izrade Mavena.

Ispostavilo se da je i ovo prilično jednostavno, zahvaljujući

Dodatak Maven Easyb

. Samo stavite sve svoje skripte priče EasyB ispod

src/test/easyb

direktorija i dodajte referencu na dodatak EasyB Maven u dodacima za izradu, kao što je prikazano ovdje:

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

U ovom smo primjeru postavili Easyb za pokretanje tijekom

test

faza životnog ciklusa (drugim riječima, kada pokrenete "mvn test"). Kada pokrenete svoje testove u Mavenu, EasyB će pokrenuti i pokrenuti sve priče koje može pronaći u

src/test/easyb

imenik. Prema dogovoru, bilo koju datoteku koja završava s "* Story.groovy", "* .story", "* Specification.groovy" ili "* .specification" smatra easyb pričom. Primjer easyb dodatka u akciji prikazan je ovdje:

 C:\Users\john\projects\onlinebank\onlinebank-core>mvn test [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Building onlinebank-core [INFO] task-segment: [test] [INFO] ------------------------------------------------------------------------ ... [INFO] [easyb:test {execution: default}] [INFO] Using easyb dependency org.easyb:easyb:jar:0.9:compile [INFO] Using easyb dependency commons-cli:commons-cli:jar:1.1:compile [INFO] Using easyb dependency org.codehaus.groovy:groovy-all-minimal:jar:1.5.0:compile [java] Running account deposits story (AccountDepositsStory.groovy) [java] Scenarios run: 2, Failures: 0, Pending: 0, Time Elapsed: 0.368 sec [java] Running account withdrawls story (AccountWithdrawlsStory.groovy) [java] Scenarios run: 2, Failures: 0, Pending: 0, Time Elapsed: 0.123 sec [java] Running open account specification (openAccount.specification) [java] Specifications run: 2, Failures: 0, Pending: 0, Time Elapsed: 0.038 sec [java] 6 total behaviors run with no failures [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 3 seconds [INFO] Finished at: Mon Aug 11 10:09:24 NZST 2008 [INFO] Final Memory: 8M/14M [INFO] ------------------------------------------------------------------------ 

S negativne strane, dodatak je još uvijek pomalo zelen - još se ne integrira s generacijom web mjesta Maven, na primjer, izvješćivanje je prilično osnovno, a dodatak morate sami vezati za fazu životnog ciklusa "testiranja". Međutim, projekt je vrlo dinamičan i ti bi detalji trebali biti izglađeni u kratkom vremenu - zato pratite najnovija dostignuća na BDD-u!

Ako želite saznati više o EasyB-u, održat ću govor o toj temi na konferenciji Java Emerging Technologies 2008 (JET 2008) u Aucklandu 17. rujna, kao i razgovore za Java korisnike u Melbourneu i Sydneyu, dok Prešao sam taj put za bootcampove Java Power Tool-a u Melbourneu i Sydneyu. Dakle, ako ste zainteresirani i za to područje, nađite!

Ovu priču "Korištenje easyba s Mavenom" izvorno je objavio JavaWorld.