JUnit Αναμενόμενη δοκιμή εξαίρεσης: @Test(αναμενόμενη)

JUnit παρέχει τη δυνατότητα εντοπισμού της εξαίρεσης και επίσης ελέγχου εάν ο κωδικός είναι throwing αναμενόμενη εξαίρεση ή όχι.

Junit4 παρέχει ένα εύκολο και readable τρόπο για δοκιμή εξαίρεσης, μπορείτε να χρησιμοποιήσετε

  • Προαιρετική παράμετρος (αναμενόμενη) του σχολιασμού @test και
  • Για τον εντοπισμό των πληροφοριών, μπορεί να χρησιμοποιηθεί το "fail()".

Ενώ Δοκιμές εξαίρεση, πρέπει να διασφαλίσετε ότι η κλάση εξαίρεσης παρέχετε σε αυτήν την προαιρετική παράμετρο @test σχολιασμός είναι το ίδιο. Αυτό συμβαίνει επειδή περιμένετε μια εξαίρεση από τη μέθοδο που είστε Δοκιμή μονάδας, άλλαwise δικός μας JUnit η δοκιμή θα αποτύγχανε.

Example@Test(expected=IllegalArgumentException.class)

Χρησιμοποιώντας την παράμετρο "αναμενόμενη", μπορείτε να καθορίσετε το όνομα εξαίρεσης που μπορεί να δημιουργήσει η δοκιμή μας. Στο παραπάνω παράδειγμα, χρησιμοποιείτε "IllegalArgumentException» το οποίο θα απορριφθεί από τη δοκιμή εάν ένας προγραμματιστής χρησιμοποιήσει ένα όρισμα που δεν επιτρέπεται.

Παράδειγμα χρησιμοποιώντας το @test (αναμενόμενο)

Ας κατανοήσουμε τη δοκιμή εξαίρεσης δημιουργώντας ένα Java τάξη με μέθοδο throwing Μια εξαίρεση. Θα το χειριστείτε και θα το δοκιμάσετε σε μια δοκιμαστική τάξη. Σκεφτείτε JUnitΤο Message.java έχει μια μέθοδο που κάνει απλώς μια μαθηματική operaμε βάση τα δεδομένα που λαμβάνει ο χρήστης. Εάν εισαχθεί οποιοδήποτε παράνομο όρισμα, θα ρίξει "ArithmeticException". Δες παρακάτω:

Παράδειγμα χρησιμοποιώντας το @Test

package guru99.junit;

public class JUnitMessage{

	private String message;

	public JUnitMessage(String message) {
		this.message = message;
	}

public void printMessage(){

	System.out.println(message); 
	int divide=1/0;

}

public String printHiMessage(){ 

	message="Hi!" + message;
	
	System.out.println(message);

	return message;
}

}

Επεξήγηση κώδικα:

  • Κωδικός Γραμμή 7: Δημιουργία ενός παραμετροποιημένου κατασκευαστή με αρχικοποίηση πεδίου.
  • Κωδικός Γραμμή 11-14: Δημιουργία μεθόδου για τα μαθηματικά operaσία.
  • Κωδικός Γραμμή 18: Δημιουργία άλλης μεθόδου εκτύπωσης μηνύματος.
  • Κωδικός Γραμμή 20: Δημιουργία νέας συμβολοσειράς για την εκτύπωση ενός μηνύματος.
  • Κωδικός Γραμμή 21: Εκτύπωση νέου μηνύματος που δημιουργήθηκε στη γραμμή 20.

Ας δημιουργήσουμε μια κλάση δοκιμής για την παραπάνω κλάση java για να επαληθεύσουμε την εξαίρεση.

Δείτε παρακάτω εξαίρεση δοκιμής κατηγορίας σε μονάδα δοκιμής (ArithmeticException εδώ) throwing από την παραπάνω κατηγορία java:

AirthematicTest.java

AirthematicTest.Java

package guru99.junit;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

public class AirthematicTest {

	public String message = "Saurabh";
	
	JUnitMessage junitMessage = new JUnitMessage(message);
	
	@Test(expected = ArithmeticException.class)
	public void testJUnitMessage(){

		System.out.println("Junit Message is printing ");
		junitMessage.printMessage();

	}

	@Test
	public void testJUnitHiMessage(){ 
		message="Hi!" + message;
		System.out.println("Junit Message is printing ");
		assertEquals(message, junitMessage.printMessage());
	
	}
}

Επεξήγηση κώδικα:

  • Κωδικός Γραμμή 13: Χρησιμοποιώντας τον σχολιασμό @Test για τη δημιουργία της δοκιμής μας. Καθώς εκτελείτε τη μέθοδο παραπάνω κλάσεων, θα καλέσει ένα μαθηματικό operation. Εδώ αναμένεται η Αριθμητική Εξαίρεση, επομένως την αναφέρετε ως παράμετρο στο @Test.
  • Κωδικός Γραμμή 17: Επίκληση printMessage() JUnitMessage.java
  • Κωδικός Γραμμή 18: Δημιουργία άλλης μεθόδου εκτύπωσης μηνύματος HI.

Εάν εκτελέσετε αυτήν την κλάση δοκιμής, η μέθοδος δοκιμής εκτελείται με κάθε καθορισμένη παράμετρο. Στο παραπάνω παράδειγμα, η μέθοδος δοκιμής εκτελείται πέντε φορές.

Ας το εκτελέσουμε και ας επαληθεύσουμε το αποτέλεσμα. Δείτε παρακάτω την κλάση δοκιμαστικού δρομέα προς εκτέλεση JunitTestExample.java

Παραγωγή:

Ακολουθεί η έξοδος που δείχνει επιτυχημένη δοκιμή χωρίς ίχνος αποτυχίας όπως δίνεται παρακάτω:

AirthematicTest.Έξοδος Java

Χαρακτηριστικά

  • Η δοκιμή εξαίρεσης είναι ένα ειδικό χαρακτηριστικό που εισάγεται στο JUnit4. Σε αυτό το σεμινάριο, έχετε μάθει πώς να δοκιμάζετε την εξαίρεση σε JUnit χρησιμοποιώντας το @test (εξαιρείται)
  • Junit παρέχει τη δυνατότητα εντοπισμού της εξαίρεσης και επίσης ελέγχου εάν ο κωδικός είναι throwing εξαίρεση ή όχι
  • Για δοκιμή εξαίρεσης, μπορείτε να χρησιμοποιήσετε
    • Προαιρετική παράμετρος (αναμενόμενη) του σχολιασμού @test και
    • Για τον εντοπισμό των πληροφοριών, μπορεί να χρησιμοποιηθεί το "fail()".