Προγραμματισμός

Χρησιμοποιώντας το easyb με το Maven

Το Easyb είναι ένας πολύ καλός τρόπος για να δοκιμάσετε την εφαρμογή Java σε στυλ BDD με Java. Αλλά δεν θα ήταν ωραίο να μπορείτε να ενσωματώσετε τις ιστορίες BDD σας στη διαδικασία κατασκευής του Maven; Τα καλά νέα είναι, μπορείτε!

Η συγγραφή μιας δοκιμαστικής ιστορίας σε στυλ BDD με το easyb είναι, λοιπόν, εύκολη. Το Groovy είναι ένας πολύ καλός τρόπος για τους προγραμματιστές Java να γράφουν δοκιμές γρήγορα και αποτελεσματικά, ακόμα και αν δεν γνωρίζουν τα καλύτερα σημεία της γλώσσας σεναρίου του Groovy. Για παράδειγμα, η ακόλουθη δοκιμαστική ιστορία (σε ένα αρχείο που ονομάζεται "AccountDepositsStory.groovy") διερευνά τι πρέπει να συμβεί όταν ανοίγετε έναν νέο τραπεζικό λογαριασμό:

 εισαγωγή com.wakaleo.onlinebank.domain.Account / ** * Ένα απλό σενάριο * / σενάριο "κατάθεση χρημάτων σε νέο λογαριασμό", {δεδομένου "ένας νέος λογαριασμός", {λογαριασμός = νέος λογαριασμός ()} όταν "μια αρχική κατάθεση γίνεται ", {ποσό = 100 account.makeDeposit (ποσό)} τότε" το υπόλοιπο πρέπει να είναι ίσο με το ποσό που έχει κατατεθεί ", {account.balance.shouldBe ποσό}} 

Αυτό είναι αρκετά εύκολο και υπάρχουν πολλοί τρόποι για να το εκτελέσετε. Μπορείτε να εκτελέσετε το σενάριο από τη γραμμή εντολών ή χρησιμοποιώντας την εργασία Ant. Μία από τις αγαπημένες μου τεχνικές είναι να χρησιμοποιώ το IntelliJ plugin, το οποίο, στην πραγματικότητα, είναι πολύ ωραίο. Ωστόσο, ως επιλογή του χρήστη Maven, αυτό που πραγματικά θέλω να κάνω είναι να ενσωματώσω σενάρια EasyB στη διαδικασία κατασκευής του Maven.

Όπως αποδεικνύεται, αυτό, επίσης, είναι πολύ εύκολο, χάρη στο

Πρόσθετο Maven Easyb

. Απλά τοποθετήστε όλα τα σενάρια της ιστορίας σας EasyB κάτω από το

src / test / easyb

κατάλογο και προσθέστε μια αναφορά στο plugin EasyB Maven στα plugins build σας, όπως φαίνεται εδώ:

  ... ... δοκιμή org.easyb maven-easyb-plugin 0,9 

Σε αυτό το παράδειγμα, ρυθμίσαμε το Easyb για εκτέλεση κατά τη διάρκεια του

δοκιμή

φάση κύκλου ζωής (με άλλα λόγια, όταν εκτελείτε "δοκιμή mvn"). Όταν εκτελείτε τις δοκιμές σας στο Maven, το EasyB θα ξεκινήσει και θα τρέξει όλες τις ιστορίες που μπορεί να βρει στο

src / test / easyb

Ευρετήριο. Κατά συνθήκη, θεωρεί ότι οποιοδήποτε αρχείο τελειώνει σε "* Story.groovy", "* .story", "* Specification.groovy" ή "* .specification" είναι μια εύκολη ιστορία. Ένα παράδειγμα της προσθήκης easyb σε δράση εμφανίζεται εδώ:

 C: \ Users \ john \ έργα \ onlinebank \ onlinebank-core>δοκιμή mvn [INFO] Σάρωση έργων ... [INFO] -------------------------------------- ---------------------------------- [INFO] Δημιουργία διαδικτυακού πυρήνα [INFO] τμήμα εργασιών: [δοκιμή ] [ΠΛΗΡΟΦΟΡΙΕΣ] ---------------------------------------------- -------------------------- ... [INFO] [easyb: test {εκτέλεση: default}] [INFO] Χρήση του easyb 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: μεταγλώττιση [java] Ιστορία καταθέσεων λογαριασμού σε εξέλιξη (AccountDepositsStory.groovy) [java] Σενάρια εκτέλεσης: 2, Αποτυχίες: 0, Σε εκκρεμότητα: 0, Χρόνος που πέρασε: 0.368 δευτ. ] Σενάρια εκτέλεσης: 2, Αποτυχίες: 0, Σε εκκρεμότητα: 0, Χρόνος που διανύθηκε: 0,123 δευτ. [Java] Προδιαγραφή ανοιχτού λογαριασμού σε λειτουργία (openAccount.specification) [java] Προδιαγραφές που εκτελούνται: 2, Αποτυχίες: 0, Σε εκκρεμότητα: 0, Χρόνος που πέρασε: 0,038 δευτ. [Java] 6 συνολικές συμπεριφορές εκτελούνται χωρίς αποτυχίες [ ΠΛΗΡΟΦΟΡΙΕΣ] ------------------------------------------------ ------------------------ [ΠΛΗΡΟΦΟΡΙΕΣ] ΚΑΤΑΣΚΕΥΗ ΕΠΙΤΥΧΙΑ [ΠΛΗΡΟΦΟΡΙΕΣ] ------------------ -------------------------------------------------- ---- [INFO] Συνολικός χρόνος: 3 δευτερόλεπτα [INFO] Ολοκληρώθηκε στις: Δευ 11 Αυγ 10:09:24 NZST 2008 [INFO] Τελική μνήμη: 8Μ / 14Μ [ΠΛΗΡΟΦΟΡΙΕΣ] ---------- -------------------------------------------------- ------------ 

Στο μειονέκτημα, το πρόσθετο εξακολουθεί να είναι λίγο πράσινο - δεν ενσωματώνεται με τη δημιουργία ιστότοπων του Maven ακόμα, για παράδειγμα, η αναφορά είναι αρκετά βασική και πρέπει να συνδέσετε μόνοι σας την προσθήκη στη φάση κύκλου ζωής «δοκιμής». Ωστόσο, το έργο είναι πολύ δυναμικό, και αυτές οι λεπτομέρειες θα πρέπει να εξομαλυνθούν σε λίγο - οπότε μείνετε συντονισμένοι για τις τελευταίες εξελίξεις στο BDD

Αν θέλετε να μάθετε περισσότερα για το EasyB, θα μιλήσω για το θέμα στο Java Emerging Technologies Conference 2008 (JET 2008) στο Όκλαντ στις 17 Σεπτεμβρίου, καθώς και συνομιλίες για τις ομάδες χρηστών της Μελβούρνης και του Σίδνεϊ, ενώ εγώ Είμαι πέρα ​​από αυτόν τον τρόπο για τους εκτυπωτές εκκίνησης Melbourne και Sydney Java Power Tool. Έτσι, αν σας ενδιαφέρει, και στην περιοχή, ελάτε!

Αυτή η ιστορία, "Using easyb with Maven" δημοσιεύθηκε αρχικά από την JavaWorld.