Mockups είναι ένα κεντρικό εργαλείο στην ανάπτυξη λογισμικού, για να απλοποιήσει τις δοκιμές και να ελέγξει τις εξαρτήσεις. Ιδιαίτερα κατά την εργασία με εξωτερικά APIs, η δοκιμή μπορεί να είναι κάπως δύσκολη, καθώς πρέπει να βασιστείς στη διαθεσιμότητα και τη συμπεριφορά αυτών των υπηρεσιών. Η χρήση mockups σου επιτρέπει να προσομοιώνεις και να ελέγχεις αυτές τις εξαρτήσεις. Έτσι έχεις τον πλήρη έλεγχο των τιμών επιστροφής και μπορείς να εκτελείς δοκιμές ακόμα και όταν λείπει η σύνδεση στο Ίντερνετ.
Σημαντικές πληροφορίες
- Τα mockups βοηθούν στην προσομοίωση εξωτερικών εξαρτήσεων.
- Δίνουν τη δυνατότητα να εκτελούνται δοκιμές ανεξάρτητα από τη διαθεσιμότητα εξωτερικών υπηρεσιών.
- Η αντικατάσταση πραγματικών κλήσεων API με mockups επιταχύνει τη διαδικασία δοκιμών.
Οδηγίες βήμα προς βήμα
1. Δημιουργία παραδείγματος έργου
Αρχικά δημιούργησε ένα νέο Python έργο, στο οποίο μπορείς να υλοποιήσεις ένα απλό παράδειγμα καιρού. Σ' αυτό το παράδειγμα θα προσομοιώσεις μια κλήση API που θα πρέπει να αποκτήσει τη θερμοκρασία από μια υπηρεσία καιρού. Για να ξεκινήσεις, χρειάζεσαι μια συνάρτηση που να ανακτά τη θερμοκρασία.

2. Δημιουργία συνάρτησης για την αναζήτηση θερμοκρασίας
Υλοποίησε μια συνάρτηση που ανακτά μια τιμή από μια εξωτερική API. Σε αυτή την περίπτωση, θα υποθέσεις ότι η θερμοκρασία είναι προσομοιωμένα 18,1 βαθμοί Κελσίου, για να δοκιμάσεις τις συνθήκες αργότερα.

3. Υλοποίηση λογικής συνθήκων
Τώρα γράψε μια απλή λογική που αξιολογεί τη θερμοκρασία. Θα πρέπει να ελέγξει αν είναι ζεστή, ζεστή ή κρύα. Ορίστε απλά όρια για αυτή την αξιολόγηση: πάνω από 28 βαθμούς είναι ζεστό, πάνω από 18 βαθμούς ζεστό και οτιδήποτε κάτω από αυτό κρύο.

4. Ρύθμιση mockups
Για να αντικαταστήσεις την εξάρτηση API, θα χρειαστείς το module unittest.mock. Με αυτό μπορείς να ανακατευθύνεις τη συνάρτηση αναζήτησης θερμοκρασίας έτσι ώστε να επιστρέφει πάντα μια προορισμένη τιμή. Εισάγεις το mock και δημιουργείς μια έκδοση mockup της συνάρτησής σου θερμοκρασίας.
5. Εφαρμογή των mockups
Ορισμένος εδώ οι τιμές επιστροφής για τη mockup συνάρτηση. Ας υποθέσουμε ότι θέλεις πρώτα να βεβαιωθείς ότι η συνάρτηση επιστρέφει 18 βαθμούς. Έτσι μπορείς να ελέγξεις τη δοκιμή για συνθήκη κρύου.

6. Γραφή δοκιμών για διάφορα σενάρια θερμοκρασίας
Δημιούργησε πολλές δοκιμές για να καλύψεις τα διάφορα αποτελέσματα θερμοκρασίας. Για παράδειγμα: μια δοκιμή για την επιστροφή 18 βαθμών (κρύο), μία για 22 βαθμούς (ζεστό) και μία για 32 βαθμούς (ζεστό). Έτσι εξασφαλίζεις ότι η λογική σου λειτουργεί σωστά σε όλες τις περιπτώσεις.

7. Εκτέλεση δοκιμών και έλεγχος αποτελεσμάτων
Εκτέλεσε τις δοκιμές σου και έλεγξε αν η προσέγγιση mockup είχε επιτυχία. Όλες οι δοκιμές θα πρέπει να επιβεβαιώσουν ότι οι περιορισμοί που ορίστηκαν από σένα στη ρύθμιση θερμοκρασίας ισχύουν. Έτσι έχεις αποδείξει ότι η διαμόρφωσή σου είναι σωστή και ότι οι εξαρτήσεις έχουν αποφευχθεί με επιτυχία.

8. Ανάκτηση πλεονεκτημάτων των mockups
Χρησιμοποίησε αυτή την ευκαιρία για να αναλογιστείς πώς τα mockups σου επέτρεψαν να εκτελείς δοκιμές ανεξάρτητες από εξωτερικούς παράγοντες. Σκέψου πώς αυτή η μέθοδος μπορεί να βοηθήσει σε άλλα έργα και σενάρια.

Σύνοψη – Χρήση mockups σε Python
Με τη χρήση mockups έχεις επανακτήσει τον έλεγχο επί των δοκιμών σου. Προσομοιώνοντας τις εξαρτήσεις API, ήταν δυνατή η συγγραφή πιο σταθερών και ταχύτερων δοκιμών. Αυτό θα διευκολύνει τις δοκιμές συνθηκών στο μέλλον και θα αυξήσει την αποδοτικότητα της ανάπτυξής σου λογισμικού.
Συχνές Ερωτήσεις
Πώς βοηθούν τα mockups στις δοκιμές;Τα mockups επιτρέπουν την προσομοίωση εξωτερικών εξαρτήσεων, επιτρέποντας τη διεξαγωγή δοκιμών ανεξάρτητα από εξωτερικές υπηρεσίες.
Μπορώ να χρησιμοποιήσω mockups και για άλλους τύπους δεδομένων;Ναι, τα mockups μπορούν να χρησιμοποιηθούν για να προσομοιώσουν όλες τις κατηγορίες τιμών επιστροφής, ανεξάρτητα από τον τύπο δεδομένων.
Είναι τα mockups χρήσιμα μόνο για API αιτήσεις;Όχι, τα mockups είναι πολυχρηστικά και χρήσιμα για όλες τις κατηγορίες συναρτήσεων που έχουν εξωτερικές εξαρτήσεις.