Τι είναι ένα mock αντικείμενο (ψεύτικο) στις δοκιμές;
sobes.tech AI
Απάντηση από AI
Ένα αντικείμενο mock (ψεύτικο) στις δοκιμές είναι ένα ειδικό αντικείμενο που μιμείται τη συμπεριφορά ενός πραγματικού συστατικού ή module του συστήματος. Χρησιμοποιείται για την απομόνωση του κώδικα που δοκιμάζεται από εξωτερικές εξαρτήσεις, ώστε να ελεγχθεί η λογική χωρίς την επίδραση πραγματικών υπηρεσιών ή πόρων.
Για παράδειγμα, αν έχετε μια λειτουργία που προσπελαύνει μια βάση δεδομένων, στις δοκιμές, αντί για μια πραγματική σύνδεση, μπορείτε να χρησιμοποιήσετε ένα mock αντικείμενο που επιστρέφει προκαθορισμένα δεδομένα. Αυτό επιταχύνει τις δοκιμές και τις καθιστά πιο αξιόπιστες.
Παράδειγμα σε Go με interfaces και mocks:
// Interface για εργασία με τη βάση δεδομένων
type UserRepository interface {
GetUser(id int) (*User, error)
}
// Mock υλοποίηση
type MockUserRepo struct {}
func (m *MockUserRepo) GetUser(id int) (*User, error) {
return &User{ID: id, Name: "Test User"}, nil
}
// Στη δοκιμή
func TestGetUserName(t *testing.T) {
repo := &MockUserRepo{}
user, err := repo.GetUser(1)
if err != nil {
t.Fatal(err)
}
if user.Name != "Test User" {
t.Errorf("αναμενόταν Test User, πήρε %s", user.Name)
}
}
Έτσι, τα mock αντικείμενα βοηθούν στη δημιουργία ελεγχόμενου περιβάλλοντος για δοκιμές και στην ανίχνευση σφαλμάτων στη λογική χωρίς εξάρτηση από εξωτερικά συστήματα.