Използване на easyb с Maven

Easyb е много готин начин да тествате вашето Java приложение в BDD стил с Java. Но не би ли било хубаво да можете да интегрирате вашите BDD истории в процеса на изграждане на Maven? Добрата новина е, че можете!

Написването на тестова история в стил BDD с easyb е, е, лесно. Groovy е чудесен начин за разработчиците на Java да пишат тестове бързо и ефективно, дори и да не знаят по-фините точки на скриптовия език Groovy. Например следната тестова история (във файл, наречен "AccountDepositsStory.groovy") изследва какво трябва да се случи, когато отворите нова банкова сметка:

 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 } } 

Това е достатъчно лесно и има много начини да го изпълните. Можете да стартирате скрипта от командния ред или използвайки задачата Ant. Една от любимите ми техники е да използвам приставката IntelliJ, която наистина е много готина. Като потребител на Maven по избор обаче наистина искам да интегрирам скриптове EasyB в процеса на изграждане на Maven.

Както се оказва, това също е доста лесно, благодарение на

Приставка Maven Easyb

. Просто поставете всичките си скриптове за истории на EasyB под

src/test/easyb

директория и добавете препратка към приставката EasyB Maven във вашите приставки за компилация, както е показано тук:

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

В този пример ние настроихме Easyb да работи по време на

тест

фаза на жизнения цикъл (с други думи, когато стартирате "mvn тест"). Когато стартирате тестовете си в Maven, EasyB ще включи и стартира всички истории, които може да намери в

src/test/easyb

директория. По споразумение той счита всеки файл, завършващ на "* Story.groovy", "* .story", "* Specification.groovy" или "* .specification", за easyb история. Пример за плъгина easyb в действие е показан тук:

 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] ------------------------------------------------------------------------ 

Недостатъкът е, че приставката все още е малко зелена - все още не се интегрира с генерацията на сайтове на Maven, например, отчитането е доста основно и трябва сами да свържете приставката към фазата на жизнения цикъл на „тест“. Проектът обаче е много динамичен и тези подробности трябва да бъдат изгладени за нула време - така че следете за последните разработки на BDD!

Ако искате да научите повече за EasyB, аз ще изнасям лекция по темата на конференцията Java Emerging Technologies 2008 (JET 2008) в Окланд на 17 септември, както и разговори за Java потребителските групи в Мелбърн и Сидни, докато аз Завърших този път за стартовите лагери на Java Power Tool в Мелбърн и Сидни. Така че, ако се интересувате и в района, заповядайте!

Тази история „Използване на easyb с Maven“ първоначално е публикувана от JavaWorld.