JUnit Παραμετροποιημένη δοκιμή με Παράδειγμα χρησιμοποιώντας @Parameters

Τι είναι το Παραμετροποιημένο Τεστ σε Junit?

Η παραμετροποιημένη δοκιμή είναι η εκτέλεση της ίδιας δοκιμής ξανά και ξανά χρησιμοποιώντας διαφορετικές τιμές. Βοηθά τον προγραμματιστή να εξοικονομήσει χρόνο στην εκτέλεση της ίδιας δοκιμής η οποία διαφέρει μόνο ως προς τις εισροές και τα αναμενόμενα αποτελέσματα.

Χρησιμοποιώντας την Παραμετροποιημένη δοκιμή, μπορεί κανείς να ρυθμίσει μια μέθοδο δοκιμής που ανακτά δεδομένα από κάποια πηγή δεδομένων.

Σκεφτείτε ένα απλό τεστ για να αθροίσετε διαφορετικά numbers. Ο κωδικός μπορεί να μοιάζει με -

Παραμετροποιημένη δοκιμή σε Junit

Η παραπάνω προσέγγιση οδηγεί σε πολλές απολύσεις.

Χρειαζόμαστε μια απλή προσέγγιση και. Χρησιμοποιώντας παραμετροποιημένη δοκιμή, μπορείτε απλώς να προσθέσετε μια μέθοδο για την εισαγωγή 10 εισροών δεδομένων και η δοκιμή σας θα εκτελεστεί 10 φορές αυτόματα.

Βήματα για τη δημιουργία ενός παραμετροποιημένου JUnit δοκιμή

Following Ο κώδικας δείχνει ένα παράδειγμα για μια παραμετροποιημένη δοκιμή. Δοκιμάζει τη μέθοδο sum() της κλάσης Αριθμητικής:

Βήμα 1) Δημιουργήστε μια τάξη. Σε αυτό το παράδειγμα, πρόκειται να εισάγουμε δύο numbers χρησιμοποιώντας τη μέθοδο sum (int,int) που θα επιστρέψει το άθροισμα του δεδομένου numbers

Βήματα για τη δημιουργία ενός παραμετροποιημένου JUnit Δοκιμή

Βήμα 2) Δημιουργήστε μια παραμετροποιημένη κλάση δοκιμής

Βήματα για τη δημιουργία ενός παραμετροποιημένου JUnit Δοκιμή

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

  • Κωδικός Γραμμή 11: Σημειώστε την τάξη δοκιμής σας χρησιμοποιώντας το @runWith(Parameterized.class).
  • Κωδικός Γραμμή 13: Δηλώστε τη μεταβλητή 'firstNumber' ως ιδιωτική και πληκτρολογήστε ως int.
  • Κωδικός Γραμμή 14: Δηλώστε τη μεταβλητή 'secondNumber' ως ιδιωτική και πληκτρολογήστε ως int.
  • Κωδικός Γραμμή 15: Δηλώστε τη μεταβλητή 'expectedResult' ως ιδιωτική και πληκτρολογήστε ως int.
  • Κωδικός Γραμμή 16: Δηλώστε τη μεταβλητή 'airthematic' ως ιδιωτική και πληκτρολογήστε ως Airthematic.

@RunWith(class_name.class): @RunWith Ο σχολιασμός χρησιμοποιείται για να καθορίσει το όνομα της κλάσης δρομέα. Εάν δεν καθορίσουμε κανένα τύπο ως παράμετρο, θα επιλέξει ο χρόνος εκτέλεσης ΑποκλεισμόςJunit4ClassRunner από προεπιλογή.

Αυτή η κλάση είναι υπεύθυνη για τις δοκιμές που εκτελούνται με μια νέα παρουσία δοκιμής. Είναι υπεύθυνο για την επίκληση JUnit μεθόδους κύκλου ζωής, όπως η εγκατάσταση (συσχετισμένοι πόροι) και η αποσύνδεση (πόροι απελευθέρωσης).

Για να παραμετροποιήσετε, πρέπει να κάνετε σχολιασμό χρησιμοποιώντας το @RunWith και να περάσετε το απαιτούμενο .class για να δοκιμαστείτε

Βήμα 3) Δημιουργήστε έναν κατασκευαστή που αποθηκεύει τα δεδομένα δοκιμής. Αποθηκεύει 3 μεταβλητές

Βήματα για τη δημιουργία ενός παραμετροποιημένου JUnit Δοκιμή

Βήμα 4) Δημιουργήστε μια στατική μέθοδο που δημιουργεί και επιστρέφει δεδομένα δοκιμής.

Βήματα για τη δημιουργία ενός παραμετροποιημένου JUnit Δοκιμή

Κωδικός Γραμμή 32,33: Δημιουργία δισδιάστατου πίνακα (παρέχοντας παραμέτρους εισαγωγής για πρόσθεση). Χρησιμοποιώντας τη μέθοδο asList μετατρέπουμε τα δεδομένα σε τύπο List. Δεδομένου ότι, ο τύπος επιστροφής της εισαγωγής μεθόδου είναι η συλλογή.

Κωδικός Γραμμή 30: Χρησιμοποιώντας @Παράμετροι σχολιασμός για τη δημιουργία ενός συνόλου δεδομένων εισόδου για την εκτέλεση της δοκιμής μας.

Η στατική μέθοδος που προσδιορίζεται από τον σχολιασμό @Parameters επιστρέφει μια Συλλογή όπου κάθε καταχώρηση στη Συλλογή θα είναι τα δεδομένα εισόδου για μία επανάληψη της δοκιμής.

Σκεφτείτε το στοιχείο

1,2,3 {}

Εδώ

πρώτος αριθμός =1

secondNumber=2

Αναμενόμενο Αποτέλεσμα=3

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

Βήμα 5) Ο πλήρης κωδικός

Βήματα για τη δημιουργία ενός παραμετροποιημένου JUnit Δοκιμή

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

  • Κωδικός Γραμμή 25: Χρησιμοποιώντας τον σχολιασμό @Before για τη ρύθμιση των πόρων (Airthematic.class εδώ). Ο σχολιασμός @Before χρησιμοποιείται εδώ για εκτέλεση πριν από κάθε δοκιμαστική περίπτωση. Περιέχει την προϋπόθεση της δοκιμής.
  • Κωδικός Γραμμή 36: Χρησιμοποιώντας τον σχολιασμό @Test για τη δημιουργία της δοκιμής μας.
  • Κωδικός Γραμμή 39: Δημιουργώντας μια δήλωση ισχυρισμού για να ελέγξουμε αν το άθροισμά μας είναι ισοδύναμο με αυτό που περιμέναμε.

Βήμα 6) Δημιουργήστε μια κλάση δοκιμαστικού δρομέα για εκτέλεση παραμετροποιημένης δοκιμής:

Βήματα για τη δημιουργία ενός παραμετροποιημένου JUnit Δοκιμή

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

  • Κωδικός Γραμμή 8: Δηλώνοντας την κύρια μέθοδο του τεστ της τάξης που θα εκτελέσει μας JUnit δοκιμή.
  • Κωδικός Γραμμή 9: Εκτέλεση δοκιμαστικών περιπτώσεων χρησιμοποιώντας JunitCore.runclasses, θα λάβει το όνομα της κλάσης δοκιμής ως παράμετρο (Στο παράδειγμά μας χρησιμοποιούμε Airthematic.class).
  • Κωδικός Γραμμή 11: Επεξεργασία του αποτελέσματος χρησιμοποιώντας βρόχο for και εκτύπωση αποτυχημένου αποτελέσματος.
  • Κωδικός Γραμμή 13: Εκτύπωση του επιτυχημένου αποτελέσματος.

Παραγωγή:

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

Βήματα για τη δημιουργία ενός παραμετροποιημένου JUnit Δοκιμή

Δείτε το αποτέλεσμα στην κονσόλα, που δείχνει την προσθήκη δύο numbers :-

JUnit Παραμετροποιημένη δοκιμή

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

Η παραμετροποιημένη δοκιμή επιτρέπει στον προγραμματιστή να εκτελεί την ίδια δοκιμή ξανά και ξανά χρησιμοποιώντας διαφορετικές τιμές.

Σημαντικοί σχολιασμοί που πρέπει να χρησιμοποιούνται κατά την παραμετροποίηση

  • @RunWith
  • @Παράμετροι