Sobes.tech
Junior — Middle

Tudna mesélni az utolsó projektjében alkalmazott tesztelési folyamatról?

sobes.tech MI

Válasz az MI-től

Az utolsó Go projektben egységteszteket használtam a testing csomag segítségével. Minden kulcsfontosságú komponenshez külön teszteket írtam, amelyek különböző bemeneti adatokkal ellenőrizték a függvények helyes működését. Emellett teszt táblákat alkalmaztam a több eset egyszerű ellenőrzése érdekében.

Az integrációs tesztekhez olyan teszteket futtattam, amelyek több komponens együttműködését ellenőrizték, például adatbázissal való munkát mock objektumokon keresztül.

Egyszerű teszt példája:

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)
        }
    }
}

Szintén használtam a go test -cover parancsot a kód lefedettségének értékelésére, valamint CI/CD-t az automatikus teszteléshez minden commitnál.