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

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

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

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

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

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

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

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

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

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

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

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

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

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

Code εξήγηση

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

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

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

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

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

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

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

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

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

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

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

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

1,2,3 {}

Εδώ

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

secondNumber=2

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

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

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

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

Code Επεξήγηση:

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

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

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

Code Επεξήγηση:

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

Παραγωγή:

Εδώ είναι το αποτέλεσμα που δείχνει επιτυχημένη δοκιμή χωρίς αποτυχία tracε όπως αναφέρεται παρακάτω:

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

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

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

Περίληψη

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

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

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

Συνοψίστε αυτήν την ανάρτηση με: