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.