Junior — Middle
Περιγράψτε την εμπειρία σας με τη χρήση mock αντικειμένων στις δοκιμές
sobes.tech AI
Απάντηση από AI
Τα αντικείμενα mock (mock objects) χρησιμοποιούνται ευρέως στις αυτοματοποιημένες δοκιμές για την απομόνωση του δοκιμαζόμενου συστατικού από εξωτερικές εξαρτήσεις.
Η εμπειρία χρήσης περιλαμβάνει:
- Αντικατάσταση των πραγματικών εξαρτήσεων (π.χ. βάσεις δεδομένων, web υπηρεσίες) με mocks για τον έλεγχο της συμπεριφοράς και την επιτάχυνση των δοκιμών.
- Ρύθμιση των mocks ώστε να επιστρέφουν συγκεκριμένες τιμές ή να παράγουν εξαιρέσεις για τον έλεγχο της διαχείρισης διαφορετικών σεναρίων.
- Έλεγχο των κλήσεων στις μεθόδους των mocks (π.χ. πόσες φορές και με ποιες παραμέτρους καλείται η μέθοδος).
Παράδειγμα με Mockito (Java):
// Δημιουργία mock
List<String> mockedList = Mockito.mock(List.class);
// Ρύθμιση συμπεριφοράς
Mockito.when(mockedList.get(0)).thenReturn("πρώτο στοιχείο");
// Χρήση
String element = mockedList.get(0); // Θα επιστρέψει "πρώτο στοιχείο"
// Έλεγχος κλήσης
Mockito.verify(mockedList).get(0);
Έτσι, τα mocks βοηθούν στη συγγραφή αξιόπιστων και γρήγορων μονάδων δοκιμών, εστιάζοντας στη λογική του δοκιμαζόμενου κώδικα και όχι σε εξωτερικές υπηρεσίες.