what is junit test fixture
Αυτό το σεμινάριο θα εξηγήσει πότε, γιατί και πώς να χρησιμοποιήσετε το JUnit Test Fixture με απλά παραδείγματα JUnit Test Fixture για την εύκολη κατανόηση της έννοιας:
Θα μάθουμε -
- Πότε και γιατί έχουμε την ανάγκη να χρησιμοποιήσουμε το Test Fixture;
- Ποια είναι η προσέγγιση για τη χρήση του στον κώδικα μας για τη δοκιμή JUnit;
- Μερικά παραδείγματα για την κατανόηση του όρου 'Δοκιμή προσάρτησης' παραλληλίστηκαν με ένα προβάδισμα στους σχολιασμούς κύκλου ζωής του JUnit 4 όπως @Before, @After, @BeforeClass, @AfterClass και @Test.
=> Δείτε όλα τα μαθήματα JUnit εδώ.
Τι θα μάθετε:
Πρόγραμμα δοκιμής JUnit
Όταν υπάρχουν πολλές δοκιμαστικές περιπτώσεις σε μια κλάση JUnit, θα μπορούσε να υπάρχει ένα κοινό αντικείμενο ή αντικείμενα που χρησιμοποιούνται από όλες τις δοκιμαστικές περιπτώσεις. Σε αυτήν την περίπτωση, μπορεί να υπάρχουν συγκεκριμένες λειτουργίες που μπορεί να είναι κοινές σε όλες τις δοκιμαστικές περιπτώσεις.
Αυτό δεν σημαίνει ότι τα αντικείμενα δοκιμής πρέπει να κοινοποιούνται σε όλες τις δοκιμαστικές περιπτώσεις. Η αλλαγή στο αντικείμενο που έγινε σε μία δοκιμή δεν χρειάζεται να κοινοποιηθεί σε όλες τις δοκιμές, καθώς αυτές οι δοκιμές είναι ανεξάρτητες και ενδέχεται να εκτελεστούν με διαφορετική σειρά σύμφωνα με το σύνολο προτεραιότητας.
καλύτερο λογισμικό κατασκοπίας κινητού τηλεφώνου για Android
Η ολιστική κατανόηση του όρος «Πρόγραμμα δοκιμής» είναι μια σταθερή κατάσταση σε έναν κωδικό ή ένα σύνολο σταθερών βημάτων σε έναν κώδικα που χρησιμοποιείται ως προϋπόθεση και μερικά άλλα σύνολα βημάτων που χρησιμοποιούνται ως μετα-κατάσταση για όλες τις δοκιμές.
Έτσι, με άλλα λόγια, εντοπίζουμε αυτά τα σύνολα δηλώσεων που θα επαναληφθούν για όλες τις δοκιμές και, ως εκ τούτου, δοκιμάστε να ορίσετε ένα σταθερό περιβάλλον για την εκτέλεση των μεθόδων δοκιμής μας.
ο σκοπός της χρήσης του δοκιμαστικού εξαρτήματος είναι να εξαλειφθεί η επανάληψη του κοινού κώδικα για όλες τις δοκιμαστικές θήκες.
Το unix εντολές ερωτήσεων και απαντήσεων συνέντευξης pdf
Ας προσπαθήσουμε να κατανοήσουμε την πρακτική εφαρμογή του δοκιμαστικού εξοπλισμού σε ένα τεστ JUnit.
μέθοδος setUp ()
- Υπάρχουν δοκιμές που χρειάζονται αρχικοποίηση συγκεκριμένων αντικειμένων (συμβολοσειρά, ακέραιος, ή ArrayList ή οποιοδήποτε αντικείμενο για αυτό το θέμα). Μπορείτε να δημιουργήσετε μια μέθοδο δημόσιο άκυρο setUp () στην οποία θα μπορούσατε να δηλώσετε τις μεταβλητές παρουσίας για τα κοινά αντικείμενα. Τοποθετήστε αυτήν τη μέθοδο setUp () κάτω από τον σχολιασμό @Πριν . Με τον σχολιασμό @Before, το πλαίσιο θα εκτελέσει τη μέθοδο setUp () πριν από κάθε εκτέλεση δοκιμαστικής περίπτωσης.
- Η μέθοδος setUp () θα μπορούσε επίσης να χρησιμοποιηθεί σε περίπτωση που θέλετε να ξεκινήσετε ένα πρόγραμμα περιήγησης με συγκεκριμένη διεύθυνση URL ως το πρώτο βήμα που εκτελείτε μια δοκιμαστική υπόθεση που ακολουθεί τη σύνδεση στην εφαρμογή με προκαθορισμένα διαπιστευτήρια.
μέθοδος tearDown ()
- Εάν έχετε διαθέσει εξωτερικούς πόρους σε μια δοκιμή, θα πρέπει να θυμάστε να ελευθερώσετε και τους πόρους. Η μέθοδος teardown () θα μπορούσε να προστεθεί για τον καθαρισμό των αντικειμένων μετά την ολοκλήρωση της εκτέλεσης της δοκιμαστικής θήκης. Με παρόμοιο τρόπο όπως η μέθοδος setUp (), προσθέστε μια μέθοδο δημόσια άκυρη πτώση () κάτω από @Μετά σχόλιο. Το πλαίσιο JUnit διασφαλίζει ότι μετά την εκτέλεση κάθε δοκιμαστικής θήκης, η μέθοδος στο @After εκτελείται σίγουρα. Τα αντικείμενα που χρησιμοποιήθηκαν στη δοκιμή πρέπει να οριστούν NULL στη μέθοδο teardown () έτσι ώστε να συλλέγονται τα σκουπίδια από τις δοκιμές.
- Ένας άλλος καλός υποψήφιος για την εκκαθάριση των αντικειμένων σκοτώνει ένα πρόγραμμα περιήγησης σε δράση μετά την ολοκλήρωση της δοκιμαστικής θήκης και απελευθερώνοντας τη μνήμη καταστρέφοντας τα χρησιμοποιημένα αντικείμενα.
- Τα ονόματα μεθόδου setUp () και tearDown () είναι απλώς ένα όνομα που καθορίζεται από το χρήστη. Μπορείτε να ορίσετε οποιοδήποτε όνομα μεθόδου θέλετε. Μόνο οι σχολιασμοί που χρησιμοποιούνται με τη μέθοδο καθορίζουν την ακολουθία των δοκιμών.
Παραδείγματα δοκιμής JUnit
Σε αυτήν την ενότητα, θα εξετάσουμε δύο παραδείγματα της δοκιμής JUnit 4 και θα προσπαθήσουμε να κατανοήσουμε πώς να χρησιμοποιήσουμε την προσέγγιση των δοκιμαστικών κομματιών στον κώδικά μας μαζί με την ακολουθία διαφορετικών σχολιασμών κύκλου ζωής @Before, @After, @BeforeClass, @AfterClass, και @Test.
Φυσικά, θα υπάρχει ένα ξεχωριστό σεμινάριο για τους σχολιασμούς που θα διευκρινίζει τι είναι αυτά και πώς λειτουργεί κάθε ένας από τους σχολιασμούς. Από τώρα, ας παραμείνουμε στην κατανόηση της χρήσης του δοκιμαστικού εξαρτήματος στον κώδικα.
Δοκιμή JUnit 4 - Παράδειγμα 1
Σε αυτό το παράδειγμα, θα έχουμε τα φωτιστικά δοκιμής στην τάξη με τρεις περιπτώσεις δοκιμής. Η μέθοδος setUp () με το @Before σχολιασμός και η μέθοδος tearDown () με το σχολιασμό @After.
Κώδικας:
package demo.tests; import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; public class JUnitProgram { @Before public void setUp() { System.out.println('_______________________________________________________
'); System.out.println('This is the setUp() method that runs before each testcase'); } @Test public void test_JUnit1() { System.out.println('This is the testcase test_JUnit1() in this class'); } @Test public void test_JUnit2() { System.out.println('This is the testcase test_JUnit2() in this class'); } @Test public void test_JUnit3() { System.out.println('This is the testcase test_JUnit3() in this class'); } @After public void tearDown() { System.out.println('This is the tearDown() method that runs after each testcase'); System.out.println('_______________________________________________________
'); } }
Το προκύπτον παράθυρο της κονσόλας θα είναι όπως φαίνεται παρακάτω:
Το παράθυρο της κονσόλας καθιστά προφανές ότι πριν από κάθε δοκιμαστική εκτέλεση, η μέθοδος setUp () εκτελείται και μετά την ολοκλήρωση κάθε δοκιμής, εκτελείται η μέθοδος tearDown ().
Έτσι, η ακολουθία εκτέλεσης ανά σχολιασμό για κάθε μέθοδο δοκιμής είναι:
- @Πριν
- @Δοκιμή
- @Μετά
Θυμηθείτε ότι οι δοκιμές όμως εδώ, έχουν εκτελεστεί με διαδοχική σειρά, δηλαδή test_JUnit1 (), test_JUnit2 (), test_JUnit3 (), δεν υπάρχει αλληλουχία που ορίζεται στη δοκιμή, επομένως ενδέχεται να εκτελεστούν με οποιαδήποτε σειρά. Κάθε δοκιμή είναι απομονωμένη από την άλλη δοκιμή.
Δοκιμή JUnit 4 - Παράδειγμα 2
Εδώ, ας δούμε γρήγορα πώς μπορούμε να έχουμε μια μέθοδο που εκτελείται μία φορά για πρώτη φορά σε μια τάξη και μια άλλη μέθοδο που εκτελείται μία φορά μετά την εκτέλεση όλων των δοκιμών για την τάξη.
Κώδικας:
package demo.tests; import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; public class JUnitProgram { @BeforeClass public static void preClass() { System.out.println('This is the preClass() method that runs one time before the class'); } @Before public void setUp() { System.out.println('_______________________________________________________
'); System.out.println('This is the setUp() method that runs before each testcase'); } @Test public void test_JUnit1() { System.out.println('This is the testcase test_JUnit1() in this class'); } @Test public void test_JUnit2() { System.out.println('This is the testcase test_JUnit2() in this class'); } @Test public void test_JUnit3() { System.out.println('This is the testcase test_JUnit3() in this class'); } @After public void tearDown() { System.out.println('This is the tearDown() method that runs after each testcase'); System.out.println('_______________________________________________________
'); } @AfterClass public static void postClass() { System.out.println('This is the postClass() method that runs one time after the class'); } }
Προσθέσαμε τη μέθοδο preClass () στο σχολιασμό @BeforeClass. Αυτή η μέθοδος εκτελείται μόνο μία φορά για μια τάξη πριν από την εκτέλεση του τεστ. Τρέχει ακόμη και πριν από τη μέθοδο στο @Before εκτελείται.
Η μέθοδος postClass () στο σχολιασμό @AfterClass εκτελείται μία φορά στο τέλος, όταν εκτελούνται και ολοκληρωθούν όλες οι δοκιμές, συμπεριλαμβανομένης της δοκιμής στο @After.
Η ακολουθία της δοκιμαστικής εκτέλεσης έχει ως εξής:
- @Πριν το μάθημα
- @Πριν
- @Δοκιμή
- @Μετά
- @Μετά το μάθημα
Οι μέθοδοι στα @BeforeClass και @AfterClass κοινοποιούνται συνήθως από την τάξη και γι 'αυτό εάν οι μέθοδοι δεν δηλώνονται ως στατικός τότε δίνει ένα σφάλμα αρχικοποίησης κατά την εκτέλεση της δοκιμής.
ερωτήσεις και απαντήσεις συνέντευξης αρχιτεκτονικής υπολογιστή pdf
Δείτε το παρακάτω στιγμιότυπο οθόνης, όπου δεν έχουμε ορίσει τη μέθοδο preClass () στο σχολιασμό @BeforeClass ως στατικός και με αυτόν τον τρόπο η δοκιμή είχε σφάλμα κατά την εκτέλεση.
Μπορεί να δείτε το αποτέλεσμα που δείχνει το σφάλμα προετοιμασίας που θα μπορούσε να εξαλειφθεί κατά τη σήμανση της μεθόδου ως στατική. Το ίδιο ισχύει και για τη μέθοδο postClass () στο σχολιασμό @AfterClass.
συμπέρασμα
Προσπαθήσαμε να ορίσουμε ένα πλαίσιο σχετικά με τις καλές πρακτικές προγραμματισμού που πρέπει να ακολουθήσουμε με την εφαρμογή του Πρόγραμμα δοκιμής προσέγγιση και μια βασική κατανόηση της χρήσης και της ακολουθίας εκτέλεσης για τους σχολιασμούς του κύκλου ζωής.
Στο επόμενο σεμινάριό μας, μαθαίνουμε για το διαφορετικοί τρόποι εκτέλεσης δοκιμών JUnit στο Eclipse. Συνεχίστε λοιπόν στη σειρά καθώς προχωράμε με πιο ενδιαφέρουσες πτυχές του JUnit.
=> Δείτε εδώ για να δείτε το A-Z Of JUnit Training Tutorials εδώ.
Συνιστώμενη ανάγνωση
- Δοκιμές JUnit: Πώς να γράψετε περιπτώσεις δοκιμής JUnit με παραδείγματα
- Tutorial JUnit για αρχάριους - Τι είναι το JUnit Testing
- Εκμάθηση Python DateTime με παραδείγματα
- Το Java String περιέχει () Μέθοδος Εκμάθησης με Παραδείγματα
- C # Χρήση της δήλωσης και C # Εικονική μέθοδος μαθημάτων με παραδείγματα
- Εισαγωγή στο JUnit Framework και τη χρήση του στο Σελήνιο Σενάριο - Σελήνιο Tutorial # 11
- Selenium Find Element By Text Tutorial με παραδείγματα
- Εκμάθηση μήκους σειράς Java με παραδείγματα κώδικα