multiple ways execute junit tests
Αυτό το σεμινάριο δείχνει πολλούς τρόπους εκτέλεσης δοκιμών JUnit, όπως εκτέλεση ως δοκιμή JUnit, χρήση πλήκτρων συντόμευσης ή εκτέλεση δοκιμής JUnit από γραμμή εντολών κ.λπ.
Είδαμε πώς να γράφουμε τις βασικές δοκιμαστικές θήκες JUnit και να έχουμε μια δοκιμαστική προσέγγιση ως μια από τις καλές πρακτικές προγραμματισμού για το JUnit στο προηγούμενο σεμινάριό μας.
Σε αυτό το σεμινάριο, ας ρίξουμε μια ματιά στους διαφορετικούς τρόπους που μπορούμε να χρησιμοποιήσουμε για την εκτέλεση δοκιμών για το JUnit. Θα εκπλαγείτε με τον αριθμό των διαθέσιμων επιλογών για την εκτέλεση αυτών των δοκιμαστικών περιπτώσεων.
=> Παρακολουθήστε την απλή σειρά εκπαίδευσης JUnit εδώ.
Τι θα μάθετε:
- Διαφορετικοί τρόποι εκτέλεσης δοκιμών JUnit
- # 1) Εκτέλεση ως δοκιμή JUnit
- # 2) Εκτέλεση Τελευταίας Εκτέλεσης Δοκιμή JUnit μέσω της Επιλογής Μενού
- # 3) Εκτελέστε χρησιμοποιώντας πλήκτρα συντόμευσης
- # 4) Εκτελέστε μόνο μία μέθοδο δοκιμής σε μια τάξη
- # 5) Εκτελέστε δοκιμές JUnit από τη γραμμή εντολών
- # 6) Εκτελέστε το Test Suite χρησιμοποιώντας το Testrunner Class
- # 7) Εκτελέστε δοκιμαστικές θήκες JUnit χρησιμοποιώντας το Maven
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Διαφορετικοί τρόποι εκτέλεσης δοκιμών JUnit
Για να εκτελέσετε δοκιμές JUnit, υπάρχουν ορισμένοι τρόποι με τους οποίους θα μπορούσατε να εκτελέσετε ένα αρχείο μιας κατηγορίας με μία ή περισσότερες μεθόδους δοκιμών μέσω των ακόλουθων επιλογών:
- Επιλογή «Εκτέλεση ως δοκιμή JUnit».
- Εκτελέστε την τελευταία δοκιμή JUnit που εκτελέστηκε μέσω της επιλογής μενού.
- Εκτελέστε χρησιμοποιώντας πλήκτρα συντόμευσης.
- Εκτελέστε μόνο μία μέθοδο δοκιμής σε μια τάξη.
- Εκτελέστε τη γραμμή εντολών.
- Εκτελέστε χρησιμοποιώντας το αρχείο κλάσης Testrunner.
- Εκτελέστε τη χρήση μέσω του Maven επίσης.
Σημείωση: Η εκτέλεση του τεστ JUnit μέσω του Maven θα εξεταστεί σε ένα ξεχωριστό σεμινάριο για το JUnit Maven.
Επαναλαμβάνοντας το σημείο, σε αυτό το σεμινάριο, θα μάθουμε πώς πολλές δοκιμές μπορούν να ομαδοποιηθούν σε μια δοκιμαστική σουίτα και πώς θα μπορούσε κανείς να τρέξει τη σουίτα με διαφορετικούς τρόπους. Εκτός αυτού, θα αναφέρει συγκεκριμένες σχετικές και συναφείς πρόσθετες πληροφορίες.
# 1) Εκτέλεση ως δοκιμή JUnit
Ο απλούστερος τρόπος με τον οποίο μπορείτε να εκτελέσετε τις δοκιμές JUnit είναι:
Μέθοδος 1:
- Κάντε δεξί κλικ στο αρχείο τάξης στην προβολή σεναρίου
- Επιλέγω Εκτέλεση ως -> Δοκιμή JUnit
- Το αρχείο τάξης εκτελείται.
Μέθοδος 2:
- Ομοίως, μπορείτε να επιλέξετε το αρχείο κλάσης από την προβολή του Package Explorer
- Κάντε δεξί κλικ στο αρχείο
- Επιλέγω Εκτέλεση ως -> Δοκιμή JUnit
- Το αρχείο τάξης εκτελείται.
Σημείωση: Με αυτόν τον τρόπο θα μπορούσατε να εκτελέσετε ένα αρχείο τάξης κάθε φορά.
# 2) Εκτέλεση Τελευταίας Εκτέλεσης Δοκιμή JUnit μέσω της Επιλογής Μενού
Μπορείτε να εκτελέσετε ένα αρχείο κλάσης JUnit διατηρώντας ένα αρχείο τάξης ανοιχτό στον επεξεργαστή. Μεταβείτε στο επάνω μενού του Έκλειψη => Επιλέξτε Εκτέλεση => Εκτέλεση . Η επιλογή Εκτέλεση -> Εκτέλεση βασικά σημαίνει να εκτελέσετε ξανά το τεστ που πραγματοποιήσατε τελευταία.
Ας εξετάσουμε μια τάξη JUnit με πολλές μεθόδους / δοκιμές για καλύτερη σαφήνεια σχετικά με τον τρόπο Εκτέλεση-> Εκτέλεση έργα:
- Σενάριο 1 : Εάν είχατε τρέξει ένα μονή μέθοδος με το @Test και, στη συνέχεια, όταν κάνετε κλικ Εκτέλεση-> Εκτέλεση , η μεμονωμένη μέθοδος που έτρεξε τελευταία θα εκτελούσε μόνο αυτή τη φορά και όχι ολόκληρη την κλάση JUnit.
- Σενάριο 2 :Ενώ είχατε τρέξει το ολόκληρη την τάξη προηγουμένως, Εκτέλεση-> Εκτέλεση θα εκτελούσε ξανά το αρχείο κατηγορίας.
Τώρα που γνωρίζουμε ότι το Run-> Run εκτελεί τη δοκιμή που τρέξατε τελευταία, αυτό μας φέρνει σε ένα ερώτηση εάν μπορείτε να αλλάξετε την προτίμηση της επιλογής Run-> Run;
Η απάντηση στην ερώτηση είναι Ναι, μπορεί να αλλάξει η προτίμηση της επιλογής Run-> Run. Υπάρχει μια συγκεκριμένη διαμόρφωση συνδεδεμένη στο Run-> Run.
Δείτε πώς μπορείτε να το κάνετε αυτό:
προς την) Η ρύθμιση εκτέλεσης του Eclipse είναι βασικά από προεπιλογή εκτελέστε τον επιλεγμένο πόρο ή τον ενεργό επεξεργαστή εάν είναι διαθέσιμο .
Λοιπόν, τι κάνει η προεπιλεγμένη ρύθμιση - «Εκτελέστε τον επιλεγμένο πόρο ή τον ενεργό επεξεργαστή εάν μπορεί να ξεκινήσει»;
Η απάντηση σε αυτό είναι ότι δεν θα εκτελέσει την εφαρμογή που ξεκινήσατε τελευταία, αλλά θα ακολουθήσει την επανεκκίνηση της τελευταίας εφαρμογής που κυκλοφόρησε για ο ενεργός συντάκτης .
σι) Τότε πώς αλλάζετε την προεπιλεγμένη προτίμηση;
Η απάντηση σε αυτό είναι ότι μπορείτε να αλλάξετε την προεπιλεγμένη προτίμηση στο Eclipse για να εκτελέσετε την τελευταία εφαρμογή που ξεκινήσατε ανεξάρτητα από τον ενεργό συντάκτη έχεις.
Ακολουθεί ο τρόπος αλλαγής της προτίμησης της επιλογής Εκτέλεση χρησιμοποιώντας Εκτέλεση -> Εκτέλεση:
- Μεταβείτε στο Windows => Preferences => Run / Debug => Εκκίνηση
- Το 'Λειτουργία εκκίνησης' έχει ένα προεπιλεγμένο κουμπί επιλογής - ' Εκκίνηση της προηγούμενης εφαρμογής » επιλέχθηκε κάτω από τη δεύτερη επιλογή « Εκκινήστε τον επιλεγμένο πόρο ή τον ενεργό επεξεργαστή. Εάν δεν μπορεί να ξεκινήσει : «.
- Ίσως χρειαστεί να αλλάξετε αυτήν την προτίμηση στο πρώτο κουμπί επιλογής, δηλαδή ' Πάντα να εκκινείτε την προηγούμενη εφαρμογή ».
# 3) Εκτελέστε χρησιμοποιώντας πλήκτρα συντόμευσης
Μπορείτε να επιλέξετε το αρχείο τάξης από την προβολή σεναρίου ή την προβολή του Package Explorer και να χρησιμοποιήσετε τα παρακάτω πλήκτρα συντόμευσης για την εκτέλεση των δοκιμών JUnit:
- Πατήστε τα πλήκτρα ALT + SHIFT + X, T για να εκτελέσετε το αρχείο κλάσης JUnit.
- Μια εναλλακτική λύση σε αυτό θα ήταν ο τύπος ALT + R και στη συνέχεια CTRL + F11 για να εκτελέσετε ένα αρχείο κλάσης JUnit. ALT + R και στη συνέχεια CTRL + F11 είναι η συντόμευση για την επιλογή μενού Εκτέλεση -> Εκτέλεση
# 4) Εκτελέστε μόνο μία μέθοδο δοκιμής σε μια τάξη
Μερικές φορές, μπορεί να θέλετε να εκτελέσετε μια μεμονωμένη μέθοδο δοκιμής JUnit.
Σε περίπτωση, υπάρχουν περισσότερες από μία μέθοδο μέσα στο αρχείο κλάσης JUnit:
- Μπορείτε να επιλέξετε ή να τοποθετήσετε τον κέρσορα στο όνομα της μεθόδου μέσα στην προβολή σεναρίου.
- Χρησιμοποιήστε είτε τα πλήκτρα συντόμευσης που αναφέρονται παραπάνω είτε τις επιλογές που παρέχονται παραπάνω για να εκτελέσετε μόνο τη μέθοδο που μόλις επιλέξατε.
Σημείωση: ALT + SHIFT + X, T μπορεί να εκτελέσει επιλεγμένες μεθόδους όπως αναμένεται. Ωστόσο, εάν θέλετε να εκτελέσετε μια συγκεκριμένη μέθοδο σε μια κλάση JUnit, πρέπει να είναι μια δοκιμαστική αίθουσα με σχολιασμό με @Test αλλιώς δείχνει σφάλμα αρχικοποίησης.
Με άλλα λόγια, εάν επιλέξετε μεθόδους στο @Before ή @After (οποιοδήποτε σχολιασμό εκτός από το @Test), τότε η εκτέλεση της συγκεκριμένης μεθόδου θα παρουσιάσει σφάλμα.
# 5) Εκτελέστε δοκιμές JUnit από τη γραμμή εντολών
Όπως εκτελείτε αρχεία κλάσης Java μέσω γραμμής εντολών, μπορείτε επίσης να μεταγλωττίσετε και να εκτελέσετε αρχεία κλάσης JUnit μέσω της γραμμής εντολών.
Θα καλύψουμε τα παρακάτω υπο-θέματα εδώ για να κατανοήσουμε πώς μπορούμε να εκτελέσουμε δοκιμές JUnit μέσω της γραμμής εντολών:
- Πώς να συντάξετε μια δοκιμή JUnit στη γραμμή εντολών;
- Πώς να εκτελέσετε μια δοκιμή JUnit στη γραμμή εντολών;
- Πρόσθετες πληροφορίες σχετικά με την εκτέλεση της γραμμής εντολών.
- Πώς να διορθώσετε το μη αναγνωρισμένο σφάλμα εντολής για την εντολή javac;
- Πλεονεκτήματα της εκτέλεσης δοκιμών χρησιμοποιώντας τη γραμμή εντολών.
# 5.1) Πώς να συντάξετε μια δοκιμή JUnit στη γραμμή εντολών;
Η προϋπόθεση για τη μεταγλώττιση και την εκτέλεση ενός αρχείου κλάσης JUnit μέσω γραμμής εντολών είναι:
- Πρώτα προσθέστε σχετικά αρχεία βάζων JUnit στο classpath.
- Ορίστε τις μεταβλητές περιβάλλοντος όπως αναφέρθηκε στο Ρύθμιση του JUnit φροντιστήριο.
- Στη συνέχεια, συντάξτε ένα αρχείο κλάσης JUnit.
- Η σύνταξη για τη σύνταξη ενός αρχείου κλάσης JUnit μέσω της γραμμής εντολών είναι:
javac -cp junit-4.0.0.jar;. JUnitProgram.java
Εδώ, το javac είναι ο μεταγλωττιστής Java που χρησιμοποιεί την επιλογή -cp.
Η εντολή javac -cp αναζητά τις ακόλουθες παραμέτρους:
- Το αρχείο JUnit jar ακολουθείται με ερωτηματικό.
- Η διαδρομή του καταλόγου στον οποίο υπάρχει το αρχείο προέλευσης.
- Το όνομα αρχείου τάξης
Στην παραπάνω σύνταξη, τι σημαίνει η τελεία (.);
Αναφέραμε μια τελεία στη θέση ολόκληρης της διαδρομής του καταλόγου.
Η τελεία υπονοεί ότι:
- Το classpath περιλαμβάνει ήδη τον τρέχοντα κατάλογο για τα αρχεία προέλευσης Java.
- Το JVM (Java Virtual Machine) υποθέτει αυτόματα ότι ο τρέχων κατάλογος είναι ο τόπος όπου τοποθετούνται τα αρχεία προέλευσης.
- Στη συνέχεια, η JVM αναζητά εκεί το όνομα αρχείου JUnit που αναφέρεται. Το όνομα αρχείου είναι η τελευταία παράμετρος που δίνεται στην εντολή μεταγλώττισης.
Μπορείτε να ελέγξετε τις παραμέτρους που πηγαίνουν στο -cp ακολουθώντας τα παρακάτω βήματα:
- Ανοίξτε τη γραμμή εντολών.
- Πληκτρολογήστε javac και πατήστε ENTER.
- Εμφανίζονται όλες οι σχετικές επιλογές, συμπεριλαμβανομένου του -cp. Θα βρείτε ότι το -cp πηγαίνει ως παράμετρος όπου η διαδρομή είναι η διαδρομή αρχείων κλάσης για την οποία αναζητά η JVM.
Στιγμιότυπο οθόνης παρακάτω:
Πώς να συντάξετε πολλαπλά αρχεία ταυτόχρονα;
Πολλά αρχεία δοκιμής JUnit μπορούν να συγκεντρωθούν ταυτόχρονα διαχωρίζοντας τα ονόματα των αρχείων με κενά.
Δίνεται παρακάτω ένα παράδειγμα όπου μπορείτε να μεταγλωττίσετε αρχεία java JUnitProgram και demoTest:
javac -cp junit-4.0.0.jar;. JUnitProgram.java demoTest.java
# 5.2) Πώς να εκτελέσετε μια δοκιμή JUnit από τη γραμμή εντολών;
Όπως και το javac χρησιμοποιείται ο μεταγλωττιστής Java java -cp χρησιμοποιείται για την εκτέλεση των αρχείων κλάσης Java συμπεριλαμβανομένων των κλάσεων JUnit.
Ακολουθεί η σύνταξη που θα μπορούσατε να ακολουθήσετε:
java -cp junit-4.0.0.jar;. JUnitProgram demoTest
Αυτή η εντολή εκτελεί και τα δύο αρχεία JUnitProgram.java και demoTest.java το ένα μετά το άλλο.
# 5.3) Πρόσθετες πληροφορίες σχετικά με την «εκτέλεση γραμμής εντολών».
καλύτερος δωρεάν μετατροπέας youtube σε mp3 online
Εδώ είναι μερικές πρόσθετες πληροφορίες σχετικά με πώς να διορθώσετε ένα σφάλμα με την εντολή javac και Γιατί να χρησιμοποιήσετε την επιλογή εκτέλεσης γραμμής εντολών
# 5.3.1) Πώς μπορώ να διορθώσω το μη αναγνωρισμένο σφάλμα εντολής για την εντολή javac;
Οι περισσότεροι από εμάς θα αντιμετώπιζαν αυτό το ζήτημα ενώ προσπαθούσαμε να εκτελέσουμε το javac εντολή μέσω της γραμμής εντολών. Αυτό μου συνέβη επίσης. οπότε σκεφτήκαμε να το γράψουμε εδώ.
προς την) Εισαγάγαμε την εντολή javac και πιέστηκε Εισαγω στη γραμμή εντολών.
σι) Το μήνυμα σφάλματος - Το javac δεν αναγνωρίζεται ως εσωτερική ή εξωτερική εντολή, λειτουργικό πρόγραμμα ή αρχείο δέσμης εμφανίστηκε όπως παρακάτω:
Εκεί ξεκινά η συλλογή των αρχείων κλάσης Java από τη γραμμή εντολών. Ως εκ τούτου, το σφάλμα είναι πράγματι ανησυχητικό και δεν μπορεί να αγνοηθεί.
Για να επιλύσετε το πρόβλημα, ακολουθήστε τα παρακάτω βήματα και Εδώ είναι!!! βλέπετε ότι το σφάλμα έχει φύγει:
- Ας δοκιμάσουμε αυτήν τη διαδικασία χρησιμοποιώντας ένα βασικό αρχείο Java. Το πρώτο βήμα που μπορείτε να κάνετε είναι να δημιουργήσετε μια βασική κλάση Java Π.χ. : 'Calculator.java'
- Θα εντοπίσουμε το Calculate.java από την Εξερεύνηση των Windows και θα αντιγράψουμε τη διαδρομή.
- Αλλάξτε τον κατάλογο στη γραμμή εντολών στη διαδρομή που αντιγράψατε (τη διαδρομή αρχείου προέλευσης). Χρησιμοποιήστε το cd για να αλλάξετε τον κατάλογο.
- Τώρα ρυθμίστε το PATH στο φάκελο jdk bin χρησιμοποιώντας την εντολή.
SET PATH = και πατήστε ENTER.
- Εδώ, η διαδρομή jdk είναι C: Program Files Java jdk1.8.0_181 bin. Ως εκ τούτου, έχουμε καθορίσει το μονοπάτι αναλόγως. Το αποτέλεσμα δεν δείχνει τίποτα πατώντας ENTER μετά την εντολή.
- Τώρα, επαληθεύστε εάν το JVM αναγνωρίζει την εντολή javac εισάγοντας την εντολή javac και πατώντας ENTER.
-
- Εάν αναγνωρίζει την εντολή, τότε προκύπτει ένα σύνολο έγκυρων επιλογών για το javac.
- Αλλιώς το σφάλμα θα εμφανιστεί ξανά.
Δίνεται παρακάτω ένα στιγμιότυπο οθόνης που δείχνει ότι απαλλαγούμε με επιτυχία από το σφάλμα.
Ας μην προσπαθήσουμε να αποφύγουμε μια ουσιαστική ερώτηση εδώ:
Γιατί η JVM αναγνώρισε την εντολή javac μετά τη ρύθμιση της διαδρομής στο φάκελο jdk bin;
Είμαστε σίγουροι ότι θα έχετε και αυτή την ερώτηση στο μυαλό σας. Παρακάτω δίνεται η απάντηση.
- Ο φάκελος jdk bin έχει όλες τις βιβλιοθήκες για την εντολή javac. Επομένως, αυτός είναι ο λόγος, όταν ορίζετε τη διαδρομή ανάλογα, το JVM είναι πλέον σε θέση να αναγνωρίσει την εντολή javac χωρίς κανένα πρόβλημα.
- Δείτε το φάκελος javac κάτω από τον κάδο jdk στην παρακάτω εικόνα.
- Μπορείτε, στη συνέχεια, να εκτελέσετε την εντολή «Java compile and run» χρησιμοποιώντας τη γραμμή εντολών. Εκτός αυτού, θυμηθείτε επίσης να ορίσετε κατάλληλα τη μεταβλητή CLASSPATH. Μεταβλητή JAVA_HOME και JUNIT_HOME για αρχεία Java και αρχεία JUnit, αντίστοιχα.
# 5.3.2) Πλεονέκτημα της εκτέλεσης δοκιμών χρησιμοποιώντας τη γραμμή εντολών:
Ας συζητήσουμε γρήγορα, το πλεονέκτημα της εκτέλεσης δοκιμών Java / JUnit μέσω της γραμμής εντολών.
Όπως γνωρίζετε ήδη, δεν υπάρχει κανένας σκληρός και γρήγορος κανόνας σχετικά με την εκτέλεση των αρχείων τάξης μέσω της γραμμής εντολών. Είναι απλώς ένας εναλλακτικός τρόπος, για το πώς μπορείτε να διαχειριστείτε τη συλλογή και την εκτέλεση των αρχείων της τάξης.
Εάν ρωτήσετε εάν υπάρχει ένα ιδιαίτερο πλεονέκτημα στην ύπαρξη τεχνογνωσίας κατά την εκτέλεση των δοκιμών JUnit μέσω της γραμμής εντολών, τότε θα λέγαμε «Σίγουρα, ναι».
Ο λόγος για «Ναι» δίνεται παρακάτω:
- Όλες αυτές οι σειρές βημάτων που ακολουθήσαμε παραπάνω. θα μπορούσε να προστεθεί στο σημειωματάριο και να μετατραπεί σε αρχείο δέσμης.
- Τώρα, όταν εκτελείτε αυτό το αρχείο δέσμης με διπλό κλικ, θα μπορούσε να ενεργοποιήσει τη συλλογή και την εκτέλεση πολλαπλών δοκιμαστικών αρχείων JUnit που αναφέρονται στο αρχείο δέσμης.
Ποιο είναι το όφελος από την ύπαρξη ενός αρχείου δέσμης κατά την κατάρτιση και εκτέλεση των αρχείων Java;
- Ένα αρχείο batch / jar μπορεί να λειτουργήσει σαν ένα φιλικό προς το χρήστη βοηθητικό πρόγραμμα που θα μπορούσε να επιτρέψει σε οποιονδήποτε να αγνοεί την εσωτερική λογική του κώδικα και να εκτελεί πολλές δοκιμαστικές περιπτώσεις πολύ εύκολα.
- Αυτό μπορεί να εξαλείψει την ανάγκη να υπάρχει ένας εξειδικευμένος προγραμματιστής ή QA για να κάνει αυτές τις εργασίες εκτέλεσης δοκιμών. Η εργασία εκτέλεσης μπορεί να ανατεθεί σε οποιονδήποτε πόρο χωρίς να ενοχλεί τους περιορισμούς δεξιοτήτων.
Στην επόμενη εναλλακτική επιλογή, θα δούμε έναν άλλο πλεονεκτικό και αξιέπαινο τρόπο εκτέλεσης των υποθέσεων δοκιμής JUnit.
# 6) Εκτελέστε το Test Suite χρησιμοποιώντας το Testrunner Class
Σε σενάρια σε πραγματικό χρόνο, η εκτέλεση μιας εξέδρας κάθε φορά είναι η λιγότερο προτιμώμενη επιλογή.
- Έχουμε περιπτώσεις όπου πρέπει να εκτελέσουμε μια ομάδα σχετικών / άσχετων δοκιμαστικών περιπτώσεων.
- Για παράδειγμα, ίσως χρειαστεί να δημιουργήσουμε και να εκτελέσουμε σουίτες δοκιμής παλινδρόμησης ή σουίτες δοκιμών καπνού.
Θα μάθουμε τώρα για την εφαρμογή διαφορετικών σχολιασμών που χρησιμοποιούνται για τη δημιουργία δοκιμαστικών σουιτών και την εκτέλεση της σουίτας.
Η συνολική διαδικασία εκτέλεσης της δοκιμαστικής σουίτας χρησιμοποιώντας το Test Runner είναι σύμφωνα με την παρακάτω ροή εργασίας:
- Δημιουργία κλάσης JUnit 1, κλάσης JUnit 2,…. JUnit τάξη n.
- Δημιουργία αρχείου κατηγορίας δοκιμαστικής ομάδας ομαδοποιώντας τις δοκιμαστικές περιπτώσεις
- Δημιουργήστε ένα αρχείο κλάσης Testrunner για να καλέσετε τη δοκιμαστική σουίτα που δημιουργήθηκε.
- Εκτελέστε την τάξη Testrunner.
Η δομή των προγραμμάτων μέσω των οποίων θα επιδείξουμε τη δημιουργία της δοκιμαστικής σουίτας και την εκτέλεση του αρχείου runner φαίνεται στην παρακάτω εικόνα:
Εδώ, θα καλύψουμε τα υπο-θέματα:
- Δημιουργία μαθημάτων JUnit
- Δημιουργία δοκιμαστικών σουιτών
- Δημιουργία αρχείου Testrunner και εκτέλεση των δοκιμαστικών σουιτών χρησιμοποιώντας το.
- Πρόσθετες πληροφορίες σχετικά με τη λειτουργία του σχολιασμού @RunWith.
# 6.1) Δημιουργία μαθημάτων JUnit
Ας ξεκινήσουμε δημιουργώντας δύο απλά αρχεία κλάσης JUnit:
- JUnitTestCase1.java - Περιλαμβάνει τον κωδικό για την επαλήθευση μιας αναμενόμενης αριθμητικής τιμής - της μεταβλητής Τιμή1 ταιριάζει με μια πραγματική τιμή της μεταβλητής Τιμή2.
- JUnitTestCase2.java - Περιλαμβάνει τον κωδικό για επαλήθευση εάν η αναμενόμενη μεταβλητή συμβολοσειράς strValue και πραγματική μεταβλητή συμβολοσειράς πραγματικό αγώνες.
Αυτές είναι βασικά δύο περιπτώσεις δοκιμών που θα προσπαθήσουμε να μπει σε μια λογική ομαδοποίηση που ονομάζεται δοκιμαστική σουίτα και να την κάνουμε να τρέχει το ένα μετά το άλλο.
Κωδικός για JUnitTestCase1.java
package demo.tests; import static org.junit.Assert.*; import java.util.*; import java.lang.String; import static org.testng.Assert.assertTrue; import org.junit.Before; import org.junit.Test; import junit.framework.Assert; public class JUnitTestCase1 { public int Value1=6000; @Test public void junitMethod1(){ int Value2=9000; Assert.assertEquals(Value1, Value2); } }
Κωδικός για JUnitTestCase2.java
package demo.tests; import static org.junit.Assert.*; import java.util.*; import java.lang.String; import static org.testng.Assert.assertTrue; import org.junit.Before; import org.junit.Test; import junit.framework.Assert; public class JUnitTestCase2 { public String stringValue='JUnit'; @Test public void junitMethod2(){ String strActual='Junit1'; Assert.assertSame(stringValue, strActual); } }
# 6.2) Δημιουργία δοκιμαστικής σουίτας:
Αυτή η ενότητα και η επόμενη ενότητα διαδραματίζουν εξέχοντα ρόλο σε ολόκληρη τη διαδικασία δημιουργίας και λειτουργίας μιας δοκιμαστικής σουίτας. Σε αυτήν την ενότητα, θα προσπαθήσουμε να κατανοήσουμε πώς να ομαδοποιήσετε πολλές κατηγορίες δοκιμών JUnit και να τις συνδέσετε σε μια δοκιμαστική σουίτα .
Σύμφωνα με την παραπάνω δομική εικόνα, ας δημιουργήσουμε μια δοκιμαστική σουίτα ομαδοποιώντας JUnitTestCase1.java και JUnitTestCase2.java και ονομάστε τη σουίτα ως JUnitTestSuite.java
Οι δύο σχολιασμοί που μας βοηθούν να επιτύχουμε τη δημιουργία μιας δοκιμαστικής σουίτας είναι:
- @RunWith και
- @SuiteClasses
Πακέτα που απαιτούνται για τους σχολιασμούς:
- Θα πρέπει να εισαγάγετε το πακέτο org.junit.runner.RunWith; για τη συμπερίληψη του σχολιασμού @RunWith.
- Θα χρειαστείτε το πακέτο org.junit.runners.Suite.SuiteClasses για να λειτουργήσει το @SuiteClasses.
- Εκτός αυτού, θα πρέπει επίσης να εισαγάγετε το πακέτο org.junit.runners.Suite για να περάσετε μια παράμετρο Suite.class στον σχολιασμό @RunWith.
Ας δούμε τον κώδικα για καλύτερη κατανόηση !!
Κωδικός για JUnitTestSuite.java
package demo.tests; import static org.junit.Assert.*; import org.junit.After; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) @SuiteClasses({JUnitTestCase1.class, JUnitTestCase2.class }) public class JUnitTestSuite { @BeforeClass public static void printMe() { System.out.println('JUnitTestSuite is the test suite grouping testcase 1 and testcase 2'); } }
Κατανόηση του κώδικα για το JUnitTestSuite.java:
- Το @RunWith βοηθά την JVM να καταλάβει τι είδους κλάση δρομέων πρέπει να τρέξει Π.χ. Suite.class ή Cucumber.class
- Εδώ, η παράμετρος του @RunWith είναι Suite.class . Βοηθά την JVM να αναγνωρίσει ότι το τρέχον αρχείο όπου χρησιμοποιείται το @RunWith (Suite.class) παίζει ρόλο στο Test Suite.
- Τα ονόματα κλάσης δοκιμής JUnit που θα δεσμευτούν μαζί σε μια σουίτα πρέπει να περάσουν ως πίνακας συμβολοσειρών με τη μορφή παραμέτρων για το @SuiteClasses το καθένα χωρισμένο με κόμμα.
- Αυτό επιτρέπει στο JVM να γνωρίζει ποιες είναι όλες οι δοκιμαστικές θήκες που πρέπει να ομαδοποιηθούν κάτω από τη σουίτα.
- Το όνομα της σουίτας θα είναι το όνομα αρχείου κλάσης JUnit που σχολιάζεται με @RunWith και @SuiteClasses που είναι JUnitTestSuite σε αυτήν την περίπτωση.
# 6.3) Δημιουργήστε το αρχείο Test Runner και εκτελέστε το JUnit Test suite χρησιμοποιώντας το Test Runner
Το τελευταίο βήμα θα μας βοηθήσει να εκτελέσουμε τη δοκιμαστική σουίτα που μόλις δημιουργήσαμε στην παραπάνω ενότητα χρησιμοποιώντας ένα αρχείο Testrunner.
- Τώρα θα δημιουργήσουμε ένα αρχείο Java με το όνομα SuiteRunnerFile.
- Αυτό το SuiteRunnerFile.java δεν είναι κλάση JUnit αλλά ένα συνηθισμένο αρχείο Java με την κύρια μέθοδο σε αυτό.
Ας δούμε τον κώδικα και μετά προσπαθήστε να τον κατανοήσουμε.
Κωδικός για το SuiteRunnerFile.java
package demo.tests; import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class SuiteRunnerFile { public static void main(String args()) { Result result=JUnitCore.runClasses(JUnitTestSuite.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } } }
Πακέτα που απαιτούνται για τον σχολιασμό
- Πρέπει να εισαγάγετε το πακέτο org.junit.runner.JunitCore για να συμπεριλάβετε το JUnitCore τάξη στον κώδικα.
- Πρέπει να εισαγάγετε το πακέτο org.junit.runner.notification.Failure και org.junit.runner. Αποτέλεσμα για συμπερίληψη της κατηγορίας αποτυχίας και αποτελεσμάτων στον κώδικα, αντίστοιχα.
Κατανόηση του κώδικα για το SuiteRunnerFile.java
- Για να δημιουργήσετε ένα αρχείο δρομέα για την εκτέλεση της δοκιμαστικής σουίτας, το JUnitCore η τάξη παίζει σημαντικό ρόλο.
- ο runClasses () μέθοδος για JUnitCore Η κλάση παίρνει το όνομα κλάσης της δοκιμαστικής σουίτας ως την παράμετρο εισαγωγής και ως εκ τούτου έχουμε τη δήλωση JUnitCore. runClasses (JUnitTestSuite. τάξη ).
- Ο τύπος επιστροφής αυτής της δήλωσης είναι ο Αποτέλεσμα αντικείμενο κλάσης που αποθηκεύει την προκύπτουσα κατάσταση επιτυχίας και την κατάσταση αποτυχίας καθενός από το αρχείο δοκιμαστικής υπόθεσης. μετά την εκτέλεση. Γι 'αυτό έχουμε ένα αποτέλεσμα ως το Αποτέλεσμα αντικείμενο κλάσης στον κώδικα.
- Στη συνέχεια, εκτυπώνουμε τις αποτυχίες των δοκιμαστικών περιπτώσεων εάν υπάρχουν. Όπως η μέθοδος getFailures (), μπορεί επίσης να λάβετε τον αριθμό αποτυχιών και τον αριθμό εκτέλεσης χρησιμοποιώντας τη μέθοδο getFailureCount () και getRunCount (), αντίστοιχα.
- Τώρα το SuiteRunnerFile είναι έτοιμο να εκτελεστεί,
- Επιλέξτε το αρχείο από την Εξερεύνηση πακέτων και
- Κάντε δεξί κλικ και επιλέξτε Εκτέλεση ως -> Java, το πρόγραμμα εκτελείται.
Παρακάτω δίνεται το στιγμιότυπο οθόνης του παραθύρου της Κονσόλας.
Επεξήγηση των αποτελεσμάτων στην κονσόλα:
Η παραπάνω κονσόλα δείχνει ότι:
- Το αρχείο κλάσης JUnitTestSuite έχει εκτελεστεί μέσω του SuiteRunnerFile.
- Η μέθοδος printMe () στο σχολιασμό @BeforeClass εκτελέστηκε πρώτα και
- Στη συνέχεια, οι δοκιμαστικές περιπτώσεις στη δοκιμαστική σουίτα εκτελέστηκαν η μία μετά την άλλη. Έτσι μπορεί να δημιουργηθεί και να εκτελεστεί η δοκιμαστική σουίτα ως πακέτο.
# 6.4) Πρόσθετες πληροφορίες - Πώς λειτουργεί το @RunWith;
- Το @RunWith είναι ένα JUnit API που βασικά παίρνει μόνο ένα στοιχείο ως παράμετρο εισόδου που είναι ένα όνομα αρχείου κλάσης δρομέα.
- Το πλαίσιο JUnit επικαλείται την καθορισμένη κλάση ως δοκιμαστικός δρομέας.
Το παρακάτω απόσπασμα από το RunWith.java θα σας βοηθήσει να κατανοήσετε:
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) @Inherited public @interface RunWith { Class Extends Runner> value(); }
Κατανόηση του παραπάνω κώδικα διεπαφής RunWith:
- Το καθορισμένο αξία στοιχείο πρέπει να είναι μια παράγωγη κλάση του Δρομέας τάξη . Η έννοια του προβληματισμού χρησιμοποιείται εδώ.
- Ένα πολύ καλό παράδειγμα μιας τέτοιας κλάσης δρομέων έχει ήδη εφαρμοστεί στον κώδικα μας, δηλαδή στο @RunWith (Suite.class) όπου μια ομάδα δοκιμαστικών βαλβίδων δεσμεύεται να κάνει μια δοκιμαστική σουίτα.
- Παρομοίως, ένα άλλο καλό παράδειγμα χρήσης μιας κλάσης Runner με το @RunWith θα μπορούσε να είναι το @RunWith (Cucumber.class), το οποίο είναι ένα πλαίσιο ανάπτυξης που βασίζεται σε επιχειρήσεις (BDD) για αυτοματοποίηση δοκιμών χρησιμοποιώντας το Selenium στην Java. Αυτό βοηθά το πλαίσιο να τρέξει τις δοκιμές με βάση το αγγούρι.
Σημείωση:
- Οι σχολιασμοί και οι παράμετροι που χρησιμοποιήθηκαν για τη δημιουργία και εκτέλεση της δοκιμαστικής σουίτας JUnit σε αυτό το σεμινάριο ήταν συγκεκριμένες για το JUnit 4.
- Υπάρχει ένας ελαφρώς διαφορετικός τρόπος για να δημιουργήσετε ένα JUnit Test Suite και να εκτελέσετε το αρχείο runner στο JUnit 5.
Σύντομα θα έχουμε μια εστιασμένη κατανόηση όλων των πτυχών του JUnit 4 εναντίον JUnit 5 στα επερχόμενα σεμινάρια μας.
# 7) Εκτελέστε δοκιμαστικές θήκες JUnit χρησιμοποιώντας το Maven
Μπορείτε επίσης να έχετε ένα έργο Maven που αποτελείται από δοκιμές JUnit και να εκτελέσετε τις δοκιμές μέσω του Maven που θα καλυφθούν σε ξεχωριστό σεμινάριο.
συμπέρασμα
- Μάθαμε όλες τις διαφορετικές επιλογές για την εκτέλεση των δοκιμών JUnit - μεμονωμένες δοκιμές καθώς και πολλές από αυτές ομαδοποιημένες σε δοκιμαστικές σουίτες.
- Λάβαμε επιπλέον γνώσεις σχετικά με τον τρόπο ενημέρωσης της προτίμησης για την επιλογή Εκτέλεση, πώς να διορθώσουμε το σφάλμα javac και πώς θα μπορούσε να μας βοηθήσει η εκτέλεση γραμμής εντολών.
- Εκτός αυτού, μάθαμε επίσης πώς λειτουργεί ο σχολιασμός @RunWith.
Ως εκ τούτου, υπάρχουν περισσότερα να ακολουθήσουν τα επερχόμενα μαθήματα. «Αναμονή» μέχρι τότε !!!
=> Επισκεφθείτε εδώ για να μάθετε το JUnit From Scratch.
Συνιστώμενη ανάγνωση
- Δοκιμές JUnit: Τρόπος σύνταξης περιπτώσεων δοκιμής JUnit με παραδείγματα
- Tutorial JUnit για αρχάριους - Τι είναι το JUnit Testing
- Τι είναι ένα τεστ JUnit: Tutorial με JUnit 4 Παραδείγματα
- Αναφορά Specflow: Τρόπος δημιουργίας αναφορών δοκιμών και εκτέλεσης επιλεκτικών δοκιμών
- Λήψη, εγκατάσταση και ρύθμιση παραμέτρων του JUnit In Eclipse
- Εισαγωγή στο JUnit Framework και τη χρήση του στο Σελήνιο Σενάριο - Σελήνιο Σεμινάριο # 11
- Δημιουργήστε δοκιμές Appium για μια εφαρμογή Android
- Εισαγωγή πολλαπλών εγγράφων στο MongoDB χρησιμοποιώντας πίνακες