Sobes.tech
Junior — Middle

Μπορείτε να περιγράψετε τη διαδικασία δοκιμής που εφαρμόσατε στο τελευταίο σας έργο;

sobes.tech AI

Απάντηση από AI

Στο τελευταίο έργο σε Go, χρησιμοποίησα δοκιμές μονάδας με το πακέτο testing. Για κάθε βασικό συστατικό, έγραψα ξεχωριστές δοκιμές που ελέγχουν τη σωστή λειτουργία των συναρτήσεων με διαφορετικά δεδομένα εισόδου. Επίσης, χρησιμοποίησα πίνακες δοκιμών για να διευκολύνω τον έλεγχο πολλαπλών περιπτώσεων.

Για δοκιμές ολοκλήρωσης, εκτέλεσα δοκιμές που ελέγχουν την αλληλεπίδραση πολλαπλών συστατικών, για παράδειγμα, δουλεύοντας με βάσεις δεδομένων μέσω αντικειμένων mock.

Παράδειγμα απλής δοκιμής:

func TestSum(t *testing.T) {
    tests := []struct {
        a, b, expected int
    }{
        {1, 2, 3},
        {5, 5, 10},
        {-1, 1, 0},
    }

    for _, tt := range tests {
        result := Sum(tt.a, tt.b)
        if result != tt.expected {
            t.Errorf("Sum(%d, %d) = %d; θέλει %d", tt.a, tt.b, result, tt.expected)
        }
    }
}

Επίσης, χρησιμοποίησα το go test -cover για την αξιολόγηση της κάλυψης κώδικα και CI/CD για την αυτόματη εκτέλεση των δοκιμών σε κάθε commit.