junit test suite filtering test cases
Αυτό το σεμινάριο θα συζητήσει Τι είναι μια δοκιμαστική σουίτα JUnit, πώς να δημιουργήσετε μια δοκιμαστική σουίτα και πώς να φιλτράρετε δοκιμαστικές θήκες στο JUnit 4 εναντίον JUnit 5:
Μάθαμε πώς να παραλείψουμε ορισμένες δοκιμαστικές περιπτώσεις κατά την εκτέλεση στο προηγούμενο σεμινάριό μας. Μάθαμε επίσης για διαφορετικούς σχολιασμούς που χρησιμοποιήθηκαν στα JUnit 4 και JUnit 5 για να το κάνουμε.
Σε αυτό το σεμινάριο, θα μάθουμε:
- Τι είναι η δοκιμαστική σουίτα;
- Πώς δημιουργούμε μια δοκιμαστική σουίτα περικλείοντας πολλές δοκιμαστικές θήκες σε μια ομάδα και εκτελώντας τη σουίτα χρησιμοποιώντας την τάξη JUnitCore;
=> Επισκεφθείτε εδώ για τη σειρά αποκλειστικών εκπαιδευτικών προγραμμάτων JUnit.
Τι θα μάθετε:
- JUnit Test Suite
- Φιλτράρισμα δοκιμαστικής σουίτας - JUnit 4 εναντίον JUnit 5
- συμπέρασμα
JUnit Test Suite
JUnit 4: @RunWith, @SuiteClasses Σχολιασμοί
Το σεμινάριο Πολλαπλοί τρόποι εκτέλεσης δοκιμών JUnit απεικονίζεται πώς να δημιουργήσετε μια δοκιμαστική σουίτα στο JUnit 4.
Οι σχολιασμοί @RunWith και @SuiteClasses Μας βοήθησε να δημιουργήσουμε μια δοκιμαστική σουίτα ομαδοποιώντας πολλές τάξεις δοκιμών JUnit. Στη συνέχεια, ένα αρχείο δρομέα με κλάση JUnitCore.runclasses () επικαλέστηκε την εκτέλεση της δοκιμαστικής σουίτας που δημιουργήθηκε.
Ανατρέξτε στην αναφερόμενη ενότητα για όλες τις λεπτομέρειες λεπτών στη ροή εργασίας μαζί με τον πραγματικό κωδικό για JUnit 4.
JUnit 5: @RunWith, @SelectClasses, @SelectPackages Σχολιασμοί
Η δημιουργία μιας δοκιμαστικής σουίτας στο JUnit 5 είναι αρκετά παρόμοιο με αυτό που έχουμε στο JUnit 4. Λοιπόν, πού είναι τότε η διαφορά;
# 1) Σε JUnit 4 , έχουμε το Suite.class το οποίο μεταβιβάζεται ως παράμετρος στο @RunWith σχολιασμό για την υποστήριξη της δημιουργίας μιας δοκιμαστικής σουίτας ενώ JUnit 5 χρησιμοποιεί τον ίδιο σχολιασμό @RunWith αλλά με την παράμετρο εισαγωγής όπως JUnitPlatform.class αντί Suite.class .
Έτσι, η γραμμή κώδικα στο JUnit 5 μοιάζει @RunWith (JUnitPlatform.class). Αυτός είναι ο σχολιασμός που συνοδεύεται από το υποπρόγραμμα JUnit Platform.
#δύο) Σε JUnit 4 , χρησιμοποιούμε @SuiteClasses για να ομαδοποιήσετε πολλές κλάσεις JUnit διαχωρισμένες με κόμμα ενώ βρίσκεστε στο JUnit 5 έχουμε:
- Ο σχολιασμός @ΕπιλογήClasses που ισοδυναμεί με @SuiteClasses στο JUnit 4 για να ομαδοποιήσετε πολλές κατηγορίες JUnit.
- @SelectPackages Ο σχολιασμός χρησιμοποιείται για την ομαδοποίηση πολλαπλών δοκιμών από τα πακέτα. Πρέπει να εισαγάγετε μια τιμή συστοιχίας συμβολοσειράς που αντιπροσωπεύει το πακέτο που θέλετε να συμπεριλάβετε.
Με άλλα λόγια,
- Εάν σε περίπτωση που θέλετε να ομαδοποιήσετε δοκιμαστικές περιπτώσεις από ένα μόνο πακέτο, το JUnit 5 σας επιτρέπει να το κάνετε αυτό.
- Ή σε περίπτωση που θέλετε να ομαδοποιήσετε δοκιμαστικές θήκες από πολλά πακέτα, το JUnit 5 υποστηρίζει ότι το κάνετε και αυτό. Μια σημείωση που πρέπει να θυμάστε εδώ είναι ότι οι δοκιμές σε όλα τα υπο-πακέτα του προαναφερθέντος πακέτου περιλαμβάνονται επίσης στη δοκιμαστική σουίτα από προεπιλογή.
JUnit 5: Διαφορετικά σενάρια / παραδείγματα
Δημιουργία δοκιμαστικής σουίτας ομαδοποίησης πολλαπλών τάξεων δοκιμής
Το απόσπασμα του κώδικα εμφανίζεται παρακάτω:
@RunWith(JUnitPlatform.class) @SelectClasses({JUnit5TestCase1.class, JUnit5TestCase2.class }) public class JUnitTestSuite { }
Δημιουργία δοκιμαστικής σουίτας για μονό πακέτο
Το απόσπασμα του κώδικα εμφανίζεται παρακάτω:
@RunWith(JUnitPlatform.class) @SelectPackages({“ demo.tests “}) public class JUnit5TestSuite { }
Σημείωση :
- Λένε δοκιμές το πακέτο έχει ένα υπο-πακέτο demo.tests.subtests.
- Ο κώδικας @SelectPackages ({'demo.tests'}) θα συμπεριλάβει επίσης όλες τις δοκιμές στο υποσυσκευασία, στη δοκιμαστική σουίτα. από προεπιλογή.
- Εάν είχατε δηλώσει @SelectPackages ({'demo.tests.subtests'}) , οι δοκιμαστικές θήκες κάτω από τη συσκευασία demo.tests.subtests θα συμπεριληφθούν μόνο στη δοκιμαστική σουίτα, ενώ οι δοκιμές από το πατρικό της πακέτο, δηλαδή δοκιμές δεν θα συμπεριληφθούν.
Δημιουργία δοκιμαστικής σουίτας για πολλαπλά πακέτα
Το απόσπασμα κώδικα για τη δημιουργία μιας δοκιμαστικής σουίτας για πολλαπλά πακέτα χωρισμένο με κόμμα στο JUnit 5 - θα φαίνεται όπως φαίνεται παρακάτω:
@RunWith(JUnitPlatform.class) @SelectPackages({“demo.tests”, “demo1.tests”, “demo2.tests”}) public class JUnit5TestSuite { }
Φιλτράρισμα δοκιμαστικής σουίτας - JUnit 4 εναντίον JUnit 5
Μερικές φορές, πρέπει να φιλτράρουμε τις δοκιμαστικές περιπτώσεις και να εκτελούμε ένα συγκεκριμένο σύνολο δοκιμών ανάλογα με τις ανάγκες μας. Για παράδειγμα, θα μπορούσε να υπάρξει ένα σύνολο δοκιμών που προσδιορίστηκαν για δοκιμές παλινδρόμησης, ένα ξεχωριστό σύνολο για δοκιμές μονάδας και ένα ξεχωριστό σύνολο περιπτώσεων δοκιμής για δοκιμές καπνού.
Πρέπει να εξαιρέσουμε ή να συμπεριλάβουμε δοκιμαστικές περιπτώσεις από συγκεκριμένα πακέτα ή τάξεις ή κατηγορίες. Το φιλτράρισμα ή η επισήμανση των δοκιμών από ένα μόνο πακέτο είναι η μόνη επιλογή με το JUnit4.
Σε σύγκριση με το JUnit 4, το JUnit 5 διαθέτει ένα καλό σύνολο χαρακτηριστικών για την υποστήριξη αυτής της ανάγκης φιλτραρίσματος των δοκιμαστικών σας περιπτώσεων από το ενιαίο πακέτο ή πολλαπλά πακέτα και υπο-πακέτα σύμφωνα με τις μεταβαλλόμενες απαιτήσεις σας.
JUnit 4 - @Category, @IncludeCategory, @ExcludeCategory
Οι δοκιμαστικές περιπτώσεις στο JUnit 4 μπορούν να κατηγοριοποιηθούν σε διαφορετικές κατηγορίες. Αυτές οι κατηγορίες μπορούν να εξαιρεθούν ή να περιληφθούν κατά τη λειτουργία της δοκιμαστικής σουίτας. Οι σχολιασμοί @Category, @IncludeCategory και @ExcludeCategory υποστηρίζονται από JUnit 4.12 και άνω.
Τα βήματα υψηλού επιπέδου για τη δημιουργία φίλτρων με βάση την κατηγορία ή τις κατηγορίες είναι τα εξής:
# 1) Δημιουργήστε μια διασύνδεση δείκτη που παίζει ρόλο στην κατηγορία.
#δύο) Σημειώστε τις μεθόδους δοκιμής των τάξεων που θα συμπεριληφθούν στο SuiteClasses με @Κατηγορία και το όνομα της κατηγορίας.
# 3) Στο αρχείο δοκιμαστικής σουίτας, χρησιμοποιήστε σχολιασμό @IncludeCategory με το όνομα της κατηγορίας να περιλαμβάνει τις δοκιμές που ανήκουν σε μια συγκεκριμένη κατηγορία.
# 4) Στο αρχείο δοκιμαστικής σουίτας, χρησιμοποιήστε σχολιασμό @ExcludeCategory με το όνομα κατηγορίας για την εξαίρεσή τους.
# 5) Ο σχολιασμός @Category μπορεί να χρησιμοποιηθεί και σε επίπεδο δοκιμής ή σε επίπεδο τάξης. Εάν ο σχολιασμός εφαρμόζεται σε επίπεδο δοκιμής, τότε η συγκεκριμένη δοκιμή επισημαίνεται με τη δεδομένη κατηγορία, ενώ εάν ο σχολιασμός είναι σε επίπεδο τάξης, όλες οι δοκιμές εντός της τάξης επισημαίνονται στη συγκεκριμένη κατηγορία.
Ας δούμε μερικές περισσότερες λεπτομέρειες για να κατανοήσουμε την πρακτική εφαρμογή της κατηγοριοποίησης των δοκιμών και του φιλτραρίσματος για εκτέλεση:
Βήμα 1:
Θα ξεκινήσουμε με τη δημιουργία ενός διεπαφή δείκτη που θα παίξει το ρόλο ενός κατηγορία για μεθόδους δοκιμής. Εδώ, δημιουργούμε μια κατηγορία με το όνομα Δοκιμή μονάδας . Ο κωδικός είναι πολύ απλός. Ανατρέξτε στον παρακάτω κώδικα.
Κωδικός για UnitTest.java
package demo.tests; public interface UnitTest {}
Βήμα 2:
Θα επισημάνουμε την κατηγορία στο επίπεδο μεθόδου δοκιμής στην τάξη JUnitTestCase1.java . Για να προσθέσετε τη δοκιμαστική περίπτωση junitMethod1 () στην κατηγορία UnitTest, πρέπει να σχολιάσετε τη μέθοδο δοκιμής με @ Κατηγορία (UnitTest.class) .
Αυτό προσθέτει τη μέθοδο δοκιμής στην κατηγορία UnitTest. Οι άλλες μέθοδοι δοκιμής (εάν υπάρχουν) δεν επισημαίνονται στην κατηγορία εκτός εάν οι μέθοδοι επισημαίνονται με μια κατηγορία.
Για να λειτουργήσει ο σχολιασμός @Category στον κώδικα μας, πρέπει να εισαγάγουμε το πακέτο org.junit.experimental.categories.Category
Το απόσπασμα κώδικα από το JUnitTestCase1.java:
@Category(UnitTest.class) @Test public void junitMethod1(){ int Value2=9000; Assert. assertEquals (Value1, Value2); }
Εναλλακτικά, μια μέθοδος δοκιμής μπορεί να ανήκει και σε πολλές κατηγορίες Π.χ. : @Category (UnitTest.class, SmokeTest.class)
Βήμα 3:
Θα ήθελα τώρα, να επισημάνω την κατηγορία σε επίπεδο τάξης στην τάξη JUnitTestCase2.java . Η ίδια δήλωση που προστέθηκε στο επίπεδο της μεθόδου δοκιμής στο προηγούμενο βήμα θα προστεθεί και στο τρέχον αρχείο κλάσης.
Σημειώστε ότι εδώ, θα προσθέσουμε τη δήλωση σε επίπεδο τάξης. Αυτό θα κάνει όλες τις μεθόδους δοκιμής στο αρχείο να ανήκουν στο Δοκιμή μονάδας Κατηγορία.
Το απόσπασμα κώδικα από το JUnitTestCase2.java:
@Category(UnitTest.class) @Test public class JUnitTestCase2 { public String stringValue='JUnit';
Βήμα 4:
Ερωτήσεις και απαντήσεις συνέντευξης salesforce για έμπειρους προγραμματιστές
Τώρα που οι απαιτούμενες δοκιμαστικές μας περιπτώσεις έχουν κατηγοριοποιηθεί στην κατηγορία UnitTest, θα δούμε τώρα πώς να τις προσθέσουμε στη δοκιμαστική σουίτα φιλτράροντας τις με βάση την κατηγορία. Θα κάνουμε ορισμένες αλλαγές κώδικα στο JUnitTestSuite.class να το δείξω αυτό.
- Κατηγορίες. Τάξη θα περάσει ως παράμετρος στο σχολιασμό @RunWith.
- Το @ Suite.SuiteClasses θα λάβει τη σειρά συμβολοσειρών δοκιμαστικών τάξεων.
- Ο σχολιασμός @ Category.IncludeCategory θα χρειαστεί το UnitTest.class ως παράμετρο.
- Αυτή η δήλωση θα μας βοηθήσει να φιλτράρουμε ολόκληρη τη σουίτα και να εκτελούμε μόνο αυτές τις δοκιμαστικές περιπτώσεις από τη σουίτα που ανήκει στην κατηγορία.
- Category.class χρειάζεται πακέτο org.junit.experimental.categories.Categories για εισαγωγή.
Το απόσπασμα κώδικα για το JunitTestSuite.java
@RunWith(Categories.class) @Categories.IncludeCategory(UnitTest.class) @Suite.SuiteClasses({JUnitTestCase1.class, JUnitTestCase2.class}) public class JUnitTestSuite {
Ο σχολιασμός @ Category.IncludeCategory μπορεί επίσης να γραφτεί ως @IncludeCategory. Μπορείτε επίσης να δημιουργήσετε πολλαπλές διεπαφές (κατηγορίες) και να σχολιάσετε τις μεθόδους τάξης / δοκιμής με πολλές κατηγορίες διαχωρισμένες με κόμμα. Το παρακάτω παράδειγμα θα φιλτράρει τα τεστ που ανήκουν στην κατηγορία - Category1 και Category2.
Παράδειγμα: @IncludeCategory ({Category1.class, Category2.class})
Παρόμοιοι κανόνες ισχύουν @ Κατηγορίες. Εξαίρεση Κατηγορίας / @ExcludeCategory για να αποκλείσετε τις μεθόδους δοκιμής κάτω από την κατηγορία ή τις κατηγορίες κατά τη διάρκεια της δοκιμής.
JUnit 5 - @IncludeTags, @ExcludeTags, @IncludePackages, @ExcludePackages, @IncludeClassNamePatterns, @ExcludeClassNamePatterns
Το JUnit 5 έρχεται συσκευασμένο με πολλαπλές προσεγγίσεις για την οργάνωση και το φιλτράρισμα των δοκιμαστικών περιπτώσεων.
JUnit 5 - @IncludeTags, @ExcludeTags
# 1) Όπως το JUnit 4 έχει σχολιασμούς @IncludeCategory και @ExcludeCategory για υποστήριξη φιλτραρίσματος δοκιμαστικών περιπτώσεων για εκτέλεση.
#δύο) Το JUnit 5 έχει σχολιασμούς @IncludeTags και @ExcludeTags για να επιτύχει τον ίδιο σκοπό.
# 3) Το JUnit 4 αναφέρεται στις δοκιμαστικές θήκες που πρέπει να οργανωθούν σε μια συγκεκριμένη κατηγορία ενώ η JUnit 5 αναφέρεται στην προσθήκη ετικετών στις δοκιμαστικές θήκες με μια συγκεκριμένη ετικέτα για να επιτρέψει το φιλτράρισμα των δοκιμαστικών περιπτώσεων για εκτέλεση.
Τα βήματα υψηλού επιπέδου για τη δημιουργία φίλτρων με βάση τις ετικέτες είναι τα εξής:
- Σημειώστε τις μεθόδους δοκιμής των πακέτων που θα συμπεριληφθούν στο @SelectPackages με @Ετικέτα και το όνομα ετικέτας που καθορίζεται από το χρήστη. Μια τάξη μπορεί να έχει διαφορετικές ετικέτες για διαφορετικές μεθόδους δοκιμής.
- Μπορείτε επίσης να σχολιάσετε το @Tag σε επίπεδο τάξης έτσι ώστε να επισημαίνονται όλες οι δοκιμές στην τάξη.
- Στο αρχείο δοκιμαστικής σουίτας, χρησιμοποιήστε σχολιασμό @IncludeTags με το όνομα της ετικέτας για να περιλαμβάνει τις δοκιμές που ανήκουν σε μια συγκεκριμένη ετικέτα.
- Στο αρχείο δοκιμαστικής σουίτας, χρησιμοποιήστε σχολιασμό @ExcludeTags με το όνομα της ετικέτας για την εξαίρεσή τους από τη δοκιμαστική σουίτα.
Ας έχουμε τώρα μια λεπτομερή εικόνα για τον τρόπο πρακτικής εφαρμογής του φιλτραρίσματος στο JUnit 5.
Βήμα 1 : Προσθέτουμε μια μέθοδο δοκιμής στο JUnit5TestCase1.java στο όνομα της ετικέτας 'Regression'
Το απόσπασμα κώδικα από το JUnit5TestCase1.java:
@Tag(“Regression”) @Test public void junitMethod1(){
Βήμα 2 : Προσθέτουμε μια μέθοδο δοκιμής στο JUnit5TestCase2.java στο όνομα ετικέτας 'SmokeTest'.
Το απόσπασμα κώδικα από το JUnit5TestCase2.java:
@Tag(“SmokeTest”) @Test public void junitMethod2(){
Βήμα 3: Τώρα που οι μέθοδοι δοκιμής έχουν επισημανθεί, τώρα θα ενημερώσουμε το JUnit5TestSuite.java για να προσθέσουμε κατάλληλα φίλτρα με ετικέτες για τις δοκιμές. Ο παρακάτω κώδικας περιλαμβάνει όλες τις δοκιμές που επισημαίνονται ως 'Regression' και εξαιρούν όλες αυτές που έχουν επισημανθεί ως 'SmokeTest'.
Το απόσπασμα κώδικα από το JUnit5TestSuite.java:
@RunWith(JUnitPlatform.class) @SelectPackages({“demo.tests“}) @IncludeTags(“Regression”) @ExcludeTags(“SmokeTest”) public class JUnit5TestSuite { }
JUnit 5 - @IncludePackages, @ExcludePackages
Γνωρίζουμε ήδη ότι όταν περνάμε ένα όνομα πακέτου στο @SelectPackages σχολιασμός, οι δοκιμές στα υπο-πακέτα του πακέτου προστίθενται επίσης στη δοκιμαστική σουίτα.
Θα μπορούσαν να υπάρχουν ορισμένα δευτερεύοντα πακέτα που θέλουμε να συμπεριλάβουμε στη δοκιμαστική σουίτα μας, ενώ μερικά άλλα δευτερεύοντα πακέτα που δεν θέλουμε ή μπορεί να μην είναι σχετικά για να συμπεριληφθούν στη σουίτα μας.
Αυτό διευκολύνεται μέσω των σχολιασμών @IncludePackages και @ExcludePackages στο JUnit 5.
Ας υποθέσουμε ότι έχουμε ένα πακέτο «demo.tests» που έχει τρία υπο-πακέτα, δηλ. Subpackage1, subpackage2 και subpackage 3 με τις δοκιμαστικές κλάσεις του σε καθένα από τα παρακάτω πακέτα.
Ας δούμε ένα απόσπασμα κώδικα του JUnit5TestSuite.java για να απεικονίσουμε τον τρόπο συμπερίληψης και εξαίρεσης ενός πακέτου.
Σενάριο # 1: Εφαρμόστε φίλτρο για να συμπεριλάβετε δοκιμαστικές θήκες μόνο από την υπο συσκευασία1.
Ο παρακάτω κώδικας περιλαμβάνει όλες τις δοκιμές από όλες τις κλάσεις JUnit στο πακέτο demo.tests.subpackage1, ωστόσο, εξαιρεί όλες τις δοκιμές απευθείας από το πακέτο demo.test και εκείνες που βρίσκονται κάτω από το πακέτο subpackage2 και subpackage3.
Το απόσπασμα κώδικα από το JUnit5TestSuite.java:
@RunWith(JUnitPlatform.class) @SelectPackages({“demo.tests“}) @IncludePackages(“demo.tests.subpackage1”) public class JUnit5TestSuite { }
Σενάριο # 2: Εφαρμόστε φίλτρο για να εξαιρέσετε τις δοκιμαστικές θήκες μόνο από την υπο συσκευασία
Ο παρακάτω κώδικας αποκλείει όλες τις δοκιμές από τις κλάσεις JUnit στο πακέτο - demo.tests.subpackage3, ωστόσο η σουίτα περιλαμβάνει όλες τις δοκιμές απευθείας κάτω από το πακέτο demo.test και εκείνες που βρίσκονται κάτω από το πακέτο subpackage1 και subpackage2.
Το απόσπασμα κώδικα από το JUnit5TestSuite.java:
@RunWith(JUnitPlatform.class) @SelectPackages({“demo.tests“}) @ExcludePackages(“demo.tests.subpackage3”) public class JUnit5TestSuite { }
JUnit 5 - @IncludeClassNamePatterns, @ExcludeClassNamePatterns
Όταν θέλετε να συμπεριλάβετε ή να εξαιρέσετε συγκεκριμένες τάξεις που αντιστοιχούν σε μια συγκεκριμένη κανονική έκφραση από το πακέτο, οι σχολιασμοί @ ΣυμπεριλάβετεClassNamePatterns και @ ΕξαίρεσηClassnamePatterns μπορεί να χρησιμοποιηθεί στο αρχείο κλάσης δοκιμαστικής σουίτας.
Ας δούμε τώρα την εικόνα μέσω της ενημέρωσης κώδικα στο JUnit5TestSuite.java
Σενάριο # 1:
Ο παρακάτω κώδικας περιλαμβάνει τάξεις που τελειώνουν με 'Ctests' από το demo.tests του πακέτου
@RunWith(JUnitPlatform.class) @SelectPackages({“demo.tests“}) @IncludeClassNamePatterns({'^.*CTests?$'})
Σενάριο # 2:
Θα αποκλείσουμε τώρα αυτές τις τάξεις που μυημένος με το «STest» από το demo.tests του πακέτου
@RunWith(JUnitPlatform.class) @SelectPackages({“demo.tests“}) @ExcludeClassNamePatterns({'^STest.*$'})
Σενάριο # 3:
Πολλές κανονικές εκφράσεις μπορούν επίσης να μεταδοθούν ως κριτήρια φίλτρου. Ο παρακάτω κώδικας αναφέρει δύο διαφορετικές τυπικές εκφράσεις που διαχωρίζονται με το « Ή ' χειριστής. Η σχισμή μπαρ | είναι ο χειριστής OR εδώ.
το καλύτερο πρόγραμμα αναπαραγωγής μουσικής και πρόγραμμα λήψης για Android
Ο κώδικας φιλτράρει τα μαθήματα μυϊτικός με Δοκιμή ( Δοκιμή.*) ή κατάληξη με Δοκιμές (*. Δοκιμές;) και περιλαμβάνει αυτές τις τάξεις στη δοκιμαστική σουίτα ως χρησιμοποιείται ο σχολιασμός @IncludeClassNamePatterns.
Σημείωση: Εάν το πλήρως αναγνωρισμένο όνομα τάξης ταιριάζει με τουλάχιστον ένα μοτίβο, τότε η κλάση θα ληφθεί σύμφωνα με τον σχολιασμό @IncludeClassNamePatterns ή @ExcludeClassNamePatterns.
@RunWith (JUnitPlatform.class)
@SelectPackages ({'demo.tests'})
@IncludeClassNamePatterns (. * Δοκιμές;) $ ')
Συχνές ερωτήσεις σχετικά με το JUnit Filtering Test Case
Εδώ είναι μια ερώτηση που μπορεί να έχει καθυστερήσει στο μυαλό σας εδώ και αρκετό καιρό.
Ε # 1) Ποια είναι η διαφορά μεταξύ απενεργοποίησης / παράβλεψης μιας δοκιμής και φιλτραρίσματος μιας δοκιμής; Δεν μπορεί καμία από τις λειτουργίες να βοηθήσει στην εξυπηρέτηση του ίδιου σκοπού παράλειψης δοκιμαστικών περιπτώσεων κατά την εκτέλεση;
Απάντηση: Η ερώτηση είναι πράγματι πραγματική και αξίζει να απαντηθεί.
- Με τη δυνατότητα δοκιμής φιλτραρίσματος, μπορείτε επίσης να εξαιρέσετε περιλαμβάνω δοκιμές ανάλογα με την κατηγορία με ετικέτα. Ενώ, με την απενεργοποίηση, μπορείτε να αποφασίσετε μόνο να εξαιρέσετε και να μην συμπεριλάβετε δοκιμές για εκτέλεση.
- Το φιλτράρισμα των δοκιμαστικών περιπτώσεων είναι ένα είδος υπό όρους παράλειψης δοκιμής, ενώ, στην περίπτωση αγνοημένων δοκιμών, αυτά παραλείπονται χωρίς συνθήκες.
- Μια άλλη σημαντική διαφορά μεταξύ των δύο είναι ότι όταν εκτελείτε τις δοκιμαστικές θήκες με δοκιμές με σχολιασμό με @Ignore ή @Disabled - οι αγνοημένες δοκιμές εμφανίζονται στα αποτελέσματα της δοκιμής ΠΗΓΗ μετρώ
- Όταν εκτελείτε τα φιλτραρισμένα τεστ, δεν εμφανίζονται καθόλου στο αποτέλεσμα της δοκιμής.
συμπέρασμα
Σε αυτό το σεμινάριο, μάθαμε πώς να φιλτράρουμε τις δοκιμές προσθέτοντας μια κατηγορία / ετικέτα στις δοκιμές.
Μάθαμε στο JUnit 4, ότι έχουμε @Category, @IncludeCategory και @ExcludeCategory για το φιλτράρισμα των δοκιμαστικών περιπτώσεων, ενώ το JUnit 5 έχει @IncludeTags και @ExcludeTags για να κάνει το ίδιο.
Εκτός αυτού, το JUnit 5 έχει πρόσθετες επιλογές φιλτραρίσματος χρησιμοποιώντας σχολιασμούς @IncludePackages, @ExcludePackages και επίσης σχολιασμούς για να συμπεριλάβετε ή να αποκλείσετε τάξεις χρησιμοποιώντας μοτίβα ονομάτων τάξης. Όσο περισσότερο εξερευνούμε. συνειδητοποιούμε ότι υπάρχουν πολλά ακόμη να διερευνηθούν.
=> Παρακολουθήστε την απλή σειρά εκπαίδευσης JUnit εδώ.
Συνιστώμενη ανάγνωση
- JUnit Ignore Test Case: JUnit 4 @Ignore Vs JUnit 5 @Disabled
- Δοκιμές JUnit: Πώς να γράψετε περιπτώσεις δοκιμής JUnit με παραδείγματα
- Λίστα σχολίων JUnit: JUnit 4 Vs JUnit 5
- Tutorial JUnit για αρχάριους - Τι είναι το JUnit Testing
- Τι είναι ένα προσάρτημα δοκιμής JUnit: Tutorial With JUnit 4 Παραδείγματα
- Πολλαπλοί τρόποι εκτέλεσης δοκιμών JUnit
- Λήψη, εγκατάσταση και ρύθμιση παραμέτρων του JUnit στο Eclipse
- Εισαγωγή στο JUnit Framework και τη χρήση του στο Σελήνιο Σενάριο - Σελήνιο Tutorial # 11