Sobes.tech
Junior — Middle

Puteți vorbi despre procesul de testare pe care l-ați aplicat în ultimul dvs. proiect?

sobes.tech AI

Răspuns de la AI

În ultimul proiect în Go, am folosit testarea unitară cu pachetul testing. Pentru fiecare componentă cheie, am scris teste individuale care verificau corectitudinea funcțiilor cu diferite date de intrare. De asemenea, am folosit tabele de teste pentru a facilita verificarea mai multor cazuri.

Pentru testarea de integrare, am rulat teste care verificau interacțiunea mai multor componente, de exemplu, lucrând cu baze de date prin obiecte mock.

Exemplu de test simplu:

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; want %d", tt.a, tt.b, result, tt.expected)
        }
    }
}

Am folosit, de asemenea, go test -cover pentru a evalua acoperirea codului de către teste și CI/CD pentru a rula automat testele la fiecare commit.