Το JUnit παρέχει τη δυνατότητα εντοπισμού της εξαίρεσης και επίσης για να ελέγξει εάν ο κώδικας ρίχνει την αναμενόμενη εξαίρεση ή όχι.
Το Junit4 παρέχει έναν εύκολο και ευανάγνωστο τρόπο για δοκιμές εξαιρέσεων, μπορείτε να το χρησιμοποιήσετε
- Προαιρετική παράμετρος (αναμενόμενη) σχολιασμού @test και
- Για την ανίχνευση των πληροφοριών, το "fail ()" μπορεί να χρησιμοποιηθεί
Κατά τη δοκιμή εξαίρεσης, πρέπει να διασφαλίσετε ότι η κατηγορία εξαίρεσης που παρέχετε σε αυτήν την προαιρετική παράμετρο του σχολιασμού @test είναι η ίδια. Αυτό συμβαίνει επειδή περιμένετε μια εξαίρεση από τη μέθοδο που χρησιμοποιείτε για τη δοκιμή μονάδας, διαφορετικά η δοκιμή JUnit θα αποτύχει.
Παράδειγμα @ Δοκιμή (αναμένεται = IllegalArgumentException.class)
Χρησιμοποιώντας την "αναμενόμενη" παράμετρο, μπορείτε να καθορίσετε το όνομα εξαίρεσης που μπορεί να ρίξει η δοκιμή μας. Στο παραπάνω παράδειγμα, χρησιμοποιείτε το " IllegalArgumentException" το οποίο θα δοκιμαστεί εάν ένας προγραμματιστής χρησιμοποιεί ένα επιχείρημα που δεν επιτρέπεται.
Παράδειγμα χρήσης @test (αναμένεται)
Ας καταλάβουμε τις δοκιμές εξαίρεσης δημιουργώντας μια τάξη Java με μια μέθοδο που ρίχνει μια εξαίρεση. Θα το χειριστείτε και θα το δοκιμάσετε σε μια τάξη δοκιμών. Θεωρήστε ότι το JUnitMessage.java έχει μια μέθοδο που απλώς κάνει μια μαθηματική λειτουργία με βάση την είσοδο που λαμβάνει ο χρήστης. Εάν εισαχθεί οποιοδήποτε παράνομο επιχείρημα, θα ρίξει το "ArithmeticException " . Δες παρακάτω:
πακέτο guru99.junit;δημόσια τάξη JUnitMessage {ιδιωτικό μήνυμα συμβολοσειράς;δημόσιο JUnitMessage (μήνυμα συμβολοσειράς) {this.message = μήνυμα;}public void printMessage () {System.out.println (μήνυμα);int divide = 1/0;}public String printHiMessage () {μήνυμα = "Γεια!" + μήνυμα;System.out.println (μήνυμα);μήνυμα επιστροφής;}}
Επεξήγηση κώδικα:
- Γραμμή κώδικα 7: Δημιουργία παραμετροποιημένου κατασκευαστή με προετοιμασία πεδίου.
- Γραμμή κώδικα 11-14: Δημιουργία μεθόδου μαθηματικής λειτουργίας.
- Γραμμή κώδικα 18: Δημιουργία άλλης μεθόδου για την εκτύπωση ενός μηνύματος.
- Γραμμή κώδικα 20: Δημιουργία νέας συμβολοσειράς για την εκτύπωση ενός μηνύματος.
- Γραμμή κώδικα 21: Εκτύπωση νέου μηνύματος που δημιουργήθηκε στη γραμμή 20.
Ας δημιουργήσουμε μια δοκιμαστική τάξη για την παραπάνω κλάση java για να επαληθεύσουμε την εξαίρεση.
Δείτε παρακάτω την κλάση δοκιμής προς εξαίρεση δοκιμής μονάδας (ArithmeticException εδώ) που ρίχνει από την παραπάνω κλάση java:
AirthematicTest.java
πακέτο guru99.junit;εισαγωγή στατικού org.junit.Assert.assertEquals;εισαγωγή org.junit.Test;δημόσια τάξη AirthematicTest {δημόσιο μήνυμα συμβολοσειράς = "Saurabh";JUnitMessage junitMessage = νέο JUnitMessage (μήνυμα);@Test (αναμένεται = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("Το μήνυμα Junit εκτυπώνει");junitMessage.printMessage ();}@Δοκιμήpublic void testJUnitHiMessage () {μήνυμα = "Γεια!" + μήνυμα;System.out.println ("Το μήνυμα Junit εκτυπώνει");assertEquals (μήνυμα, junitMessage.printMessage ());}}
Επεξήγηση κώδικα:
- Γραμμή κώδικα 13: Χρήση σχολιασμού @Test για τη δημιουργία της δοκιμής μας. Καθώς εκτελείτε τη μέθοδο των παραπάνω τάξεων, θα επικαλεστεί μια μαθηματική λειτουργία. Εδώ αναμένεται η εξαίρεση αριθμητικής, οπότε την καταχωρίζετε ως παράμετρο στο @Test.
- Γραμμή κώδικα 17: Επίκληση printMessage () JUnitMessage.java
- Γραμμή κώδικα 18: Δημιουργία άλλης μεθόδου για εκτύπωση μηνύματος HI.
Εάν εκτελέσετε αυτήν την τάξη δοκιμής, η μέθοδος δοκιμής εκτελείται με κάθε καθορισμένη παράμετρο. Στο παραπάνω παράδειγμα, η μέθοδος δοκιμής εκτελείται πέντε φορές.
Ας το εκτελέσουμε και επαληθεύσουμε το αποτέλεσμα. Δείτε παρακάτω την κλάση δοκιμών για να εκτελέσετε το JunitTestExample.java
Παραγωγή:
Εδώ είναι η έξοδος που δείχνει επιτυχημένη δοκιμή χωρίς ίχνος αστοχίας όπως δίνεται παρακάτω:
Περίληψη:
- Το Exception testing είναι ένα ειδικό χαρακτηριστικό που εισήχθη στο JUnit4. Σε αυτό το σεμινάριο, έχετε μάθει πώς να δοκιμάζετε την εξαίρεση στο JUnit χρησιμοποιώντας το @test (εξαιρείται)
- Η Junit παρέχει τη δυνατότητα εντοπισμού της εξαίρεσης και επίσης για να ελέγξει αν ο κώδικας ρίχνει εξαίρεση ή όχι
- Για δοκιμές εξαίρεσης, μπορείτε να χρησιμοποιήσετε
- Προαιρετική παράμετρος (αναμενόμενη) σχολιασμού @test και
- Για την ανίχνευση των πληροφοριών, το "fail ()" μπορεί να χρησιμοποιηθεί