Ο λόγος για τον οποίο είναι δύσκολο να δοκιμάσετε μια κλάση singleton είναι ότι δεν μπορείτε να αρχικοποιήσετε ξανά την τάξη για κάθε δοκιμή, επειδή μπορεί να αρχικοποιηθεί μόνο μία φορά (και επομένως σας δίνει πολλή δουλειά για να ορίσετε σωστά όλες τις τιμές για κάθε δοκιμή).
Γιατί είναι δύσκολο να δοκιμάσεις το singleton;
Είναι δύσκολο να δοκιμάσετε κώδικα που χρησιμοποιεί singletons.
Δεν μπορείτε να ελέγξετε τη δημιουργία του αντικειμένου singleton επειδή συχνά δημιουργείται με στατικό αρχικοποιητή ή στατική μέθοδο. Ως αποτέλεσμα, δεν μπορείτε επίσης να κοροϊδέψετε τη συμπεριφορά αυτής της παρουσίας Singleton.
Ποιο είναι το πρόβλημα με τα μονότονα;
Singletons εμποδίζουν τη δοκιμή μονάδας: Ένα Singleton μπορεί να προκαλέσει προβλήματα για το γράψιμο με δυνατότητα δοκιμής κωδικού εάν το αντικείμενο και οι μέθοδοι που σχετίζονται με αυτό είναι τόσο στενά συνδεδεμένα που καθίσταται αδύνατο να δοκιμαστεί χωρίς εγγραφή μια πλήρως λειτουργική τάξη αφιερωμένη στο Singleton.
Ποια είναι τα μειονεκτήματα του singleton στη δοκιμή μονάδας;
Για να εκτελέσουμε κώδικα που περιέχει singleton σε μια δοκιμαστική πλεξούδα, πρέπει να χαλαρώσουμε την ιδιότητα singleton. Να πώς το κάνουμε. Το πρώτο βήμα είναι να προσθέσετε μια νέα στατική μέθοδο στην κλάση singleton. Η μέθοδος μας επιτρέπει να αντικαταστήσουμε το στατικό στιγμιότυπο στο singleton.
Γιατί το singleton παρεμβαίνει στη δοκιμή μονάδας;
Στη δοκιμή μονάδας, κάθε μία από τις δοκιμές μονάδας πρέπει να είναι ανεξάρτητη η μία από την άλλη. Ένας άλλος λόγος για τον οποίο το μοτίβο σχεδίασης Singleton δυσκολεύει τη ζωή σας στις δοκιμές μονάδων είναι ο επειδή παραμένουν στη μνήμη έως ότου η εφαρμογή είναι ζωντανή Ως εκ τούτου, διατηρούν την κατάσταση όσο η εφαρμογή παραμένει στην μνήμη.