Menggunakan easyb dengan Maven

Easyb adalah cara yang sangat keren untuk menguji aplikasi Java Anda dalam gaya BDD dengan Java. Tapi bukankah menyenangkan bisa mengintegrasikan cerita BDD Anda ke dalam proses pembuatan Maven? Kabar baiknya adalah, Anda bisa!

Menulis cerita percobaan gaya BDD dengan easyb adalah, yah, mudah. Groovy adalah cara terbaik bagi pengembang Java untuk menulis pengujian dengan cepat dan efisien, bahkan jika mereka tidak mengetahui poin-poin penting dari bahasa skrip Groovy. Misalnya, kisah pengujian berikut (dalam file bernama "AccountDepositsStory.groovy") mengeksplorasi apa yang seharusnya terjadi saat Anda membuka rekening bank baru:

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

Ini cukup mudah, dan ada banyak cara untuk menjalankannya. Anda dapat menjalankan skrip dari baris perintah, atau menggunakan tugas Ant. Salah satu teknik favorit saya adalah menggunakan plugin IntelliJ, yang memang sangat keren. Namun, sebagai pengguna Maven berdasarkan pilihan, yang benar-benar ingin saya lakukan adalah mengintegrasikan skrip EasyB ke dalam proses pembuatan Maven.

Ternyata, ini juga cukup mudah berkat

Plugin Maven Easyb

. Letakkan saja semua skrip cerita EasyB Anda di bawah

src/test/easyb

direktori dan tambahkan referensi ke plugin EasyB Maven di plugin build Anda, seperti yang ditunjukkan di sini:

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

Dalam contoh ini, kami menyiapkan Easyb untuk dijalankan selama

uji

fase siklus hidup (dengan kata lain, saat Anda menjalankan "uji mvn"). Saat Anda menjalankan pengujian di Maven, EasyB akan menjalankan dan menjalankan semua cerita yang dapat ditemukannya di

src/test/easyb

direktori. Menurut konvensi, ini menganggap file apa pun yang diakhiri dengan "* Story.groovy", "* .story", "* Specification.groovy" atau "* .specification" sebagai cerita yang mudah. Contoh dari plugin easyb ditampilkan di sini:

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

Sisi negatifnya, plugin masih sedikit hijau - plugin ini belum terintegrasi dengan pembuatan situs Maven, misalnya, pelaporannya cukup mendasar, dan Anda perlu mengikat plugin ke fase siklus hidup 'uji' sendiri. Namun, proyek ini sangat dinamis, dan detail ini harus diselesaikan dalam waktu singkat - jadi pantau terus perkembangan BDD terbaru!

Jika Anda ingin mempelajari lebih lanjut tentang EasyB, saya akan memberikan ceramah tentang subjek tersebut di Java Emerging Technologies Conference 2008 (JET 2008) di Auckland pada tanggal 17 September, serta ceramah untuk Grup Pengguna Java Melbourne dan Sydney sementara saya Saya sudah melewati jalan itu untuk bootcamp Melbourne dan Sydney Java Power Tool. Jadi, jika Anda tertarik, dan di area ini, ikutilah!

Artikel ini, "Menggunakan easyb dengan Maven" pada awalnya diterbitkan oleh JavaWorld.