JUnit @Ignore Test Annotation with Example
Μερικές φορές μπορεί να χρειαστεί να μην εκτελέσετε μια μέθοδο/κώδικα ή Δοκιμαστική θήκη γιατί η κωδικοποίηση δεν γίνεται πλήρως. Για το συγκεκριμένο τεστ, JUnit παρέχει @Αγνοώ σχολιασμός για να παραλείψετε τη δοκιμή.
Τι είναι JUnit @Αγνοήστε τον σχολιασμό δοκιμής
Ο σχολιασμός δοκιμής @Ignore χρησιμοποιείται για την παράβλεψη συγκεκριμένων δοκιμών ή ομάδων δοκιμών προκειμένου να παραβλεφθεί η αποτυχία κατασκευής.
@Αγνοώ Ο σχολιασμός μπορεί να χρησιμοποιηθεί σε δύο σενάρια όπως δίνονται παρακάτω:
- Εάν θέλετε να αγνοήσετε μια μέθοδο δοκιμής, χρησιμοποιήστε το @Ignore μαζί με τον σχολιασμό @Test.
- Εάν θέλετε να αγνοήσετε όλα τα τεστ της τάξης, χρησιμοποιήστε τον σχολιασμό @Ignore σε επίπεδο τάξης.
Μπορείτε να δώσετε τον λόγο για την απενεργοποίηση μιας δοκιμής στην προαιρετική παράμετρο που παρέχεται από τον σχολιασμό @Ignore.
Θα βοηθήσει άλλους προγραμματιστές που εργάζονται στο ίδιο κομμάτι κώδικα, να κατανοήσουν "γιατί μια συγκεκριμένη δοκιμή είναι απενεργοποιημένη;" Όταν επιδιορθωθεί το πρόβλημα της συγκεκριμένης δοκιμής, μπορείτε απλώς να το ενεργοποιήσετε αφαιρώντας το @Παράβλεψη σχολιασμού.
Παράδειγμα δοκιμής Junit – Αγνοήστε
Όπως συζητήθηκε στον παραπάνω ορισμό, μπορείτε να χρησιμοποιήσετε τον σχολιασμό @Ignore για να αγνοήσετε μια δοκιμή ή μια ομάδα της δοκιμής.
Ας το καταλάβουμε χρησιμοποιώντας ένα απλό παράδειγμα και στα παρακάτω σενάρια:
- Δημιουργία μιας απλής τάξης δοκιμής χωρίς να αγνοήσετε μια δοκιμή.
- Αγνοήστε μια μέθοδο δοκιμής χρησιμοποιώντας τον σχολιασμό @Ignore.
- Αγνοήστε μια μέθοδο δοκιμής χρησιμοποιώντας τον σχολιασμό @Ignore με τον κατάλληλο λόγο.
- Αγνοήστε όλες τις μεθόδους δοκιμής χρησιμοποιώντας τον σχολιασμό @Ignore.
Δημιουργία μιας απλής τάξης δοκιμής χωρίς να αγνοήσετε μια δοκιμή
Ας δημιουργήσουμε ένα απλό Java κλάση που εκτυπώνει δύο τύπους μηνυμάτων.
- Η πρώτη μέθοδος εκτυπώνει ένα απλό μήνυμα και
- Η δεύτερη μέθοδος εκτυπώνει ένα μήνυμα "γεια".
JUnitMessage.java
package guru99.junit; public class JUnitMessage { private String message; public JUnitMessage(String message) { this.message = message; } public String printMessage(){ System.out.println(message); return message; } public String printHiMessage(){ message="Hi!"+ message; System.out.println(message); return message; } }
JunitTestExample.java
Ας δημιουργήσουμε ένα JUnit δοκιμαστική τάξη για δοκιμή JUnitMessage.java.
Σε αυτή τη JUnit δοκιμαστική τάξη,
- Πρώτη δοκιμή, με το όνομα «δοκιμήJUnitΤο Message()” ελέγχει τη μέθοδο “printMessage()” της παραπάνω κλάσης.
- Ομοίως το δεύτερο τεστ, που ονομάζεται «testJUnitΤο HiMessage» δοκιμάζει «δοκιμήJUnitHiMessage» της παραπάνω κατηγορίας.
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Test public void testJUnitMessage() { System.out.println("Junit Message is printing"); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
TestRunner.java
Ας δημιουργήσουμε μια κλάση δοκιμαστικού προγράμματος εκτέλεσης για την εκτέλεση του JunitTestExample.java
package guru99.junit; import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class TestRunner { public static void main(String[] args) { Result result = JUnitCore.runClasses(JunitTestExample.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println("Result=="+result.wasSuccessful()); } }
Παραγωγή:
Εκτύπωση δήλωσης στην κονσόλα:
Το Junit Hi Message εκτυπώνεται
Γεια! Guru99
Το Junit Message εκτυπώνεται
Guru99
Αγνοήστε μια μέθοδο δοκιμής χρησιμοποιώντας τον σχολιασμό @Ignore
Ας δημιουργήσουμε τη δοκιμή παράβλεψης για να απενεργοποιήσουμε μια δοκιμή στο παραπάνω παράδειγμα. Για αυτό, πρέπει να χρησιμοποιήσετε το @Ignore στη μέθοδο, που θέλετε να παραλείψετε.
Ας το κάνουμε για δοκιμήJUnitMessage() του JunitTestExample.java
JunitTestExample.java
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Ignore @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
Παραγωγή:
Ας εκτελέσουμε και επαληθεύσουμε την έξοδο του παραπάνω παραδείγματος.
Η παρακάτω έξοδος δείχνει ότι μια δοκιμή παραλείφθηκε (απενεργοποιήθηκε), δείτε όπως επισημαίνεται παρακάτω:
Εκτύπωση δήλωσης στην κονσόλα:
Το Junit Hi Message εκτυπώνεται
Γεια! Guru99
Χρησιμοποιώντας τον σχολιασμό @ ignore με Condition
Ας πάρουμε το παράδειγμα του πώς να αγνοήσουμε ένα τεστ και να καθορίσουμε τον λόγο για τον οποίο αγνοούμε μαζί του. Όπως συζητήθηκε παραπάνω, για να παρέχετε έναν λόγο έχετε μια προαιρετική παράμετρο στον σχολιασμό @Ignore όπου μπορείτε να παρέχετε τη δήλωση αιτίας.
JunitTestExample.java
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Ignore("not yet ready , Please ignore.") @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
Παραγωγή:
Ιδια όπως παραπάνω.
Αγνοήστε όλες τις μεθόδους δοκιμής χρησιμοποιώντας τον σχολιασμό @Ignore.
Όπως συζητήθηκε παραπάνω για να αγνοήσετε όλες τις δοκιμές στην τάξη, πρέπει να χρησιμοποιήσετε τον σχολιασμό @Ignore σε επίπεδο τάξης.
Ας τροποποιήσουμε το παραπάνω παράδειγμα για να κατανοήσουμε πώς να αγνοήσουμε όλες τις δοκιμές:
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Ignore; import org.junit.Test; @Ignore public class JunitTestExample { public String message = "Guru99"; JUnitMessage junitMessage = new JUnitMessage(message); @Test public void testJUnitMessage() { System.out.println("Junit Message is printing "); assertEquals(message, junitMessage.printMessage()); } @Test public void testJUnitHiMessage() { message="Hi!" +message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); } }
Έξοδος:
Εκτύπωση δήλωσης στην κονσόλα:
Καθώς και οι δύο δοκιμές παραλείφθηκαν χρησιμοποιώντας το @Ignore σε επίπεδο τάξης, έτσι δεν θα εκτυπωθεί καμία δήλωση στην κονσόλα.
Σύνοψη
Σε αυτό το σεμινάριο, μάθατε πώς να αγνοείτε ένα μόνο τεστ, μια ομάδα δοκιμών ή όλες τις δοκιμές χρησιμοποιώντας τον σχολιασμό @Ignore.
@Αγνοώ Ο σχολιασμός μπορεί να χρησιμοποιηθεί σε δύο σενάρια όπως δίνονται παρακάτω:
- Εάν θέλετε να αγνοήσετε μια μέθοδο δοκιμής, χρησιμοποιήστε το @Ignore μαζί με τον σχολιασμό @Test.
- Εάν θέλετε να αγνοήσετε όλα τα τεστ της τάξης, χρησιμοποιήστε τον σχολιασμό @Ignore σε επίπεδο τάξης.
Μάθατε επίσης πώς να παρέχετε μια δήλωση για να κατανοήσετε άλλους προγραμματιστές, γιατί μια συγκεκριμένη δοκιμή είναι απενεργοποιημένη.