Junior — Middle
Môžete opísať testovací proces, ktorý ste použili vo svojom poslednom projekte?
sobes.tech AI
Odpoveď od AI
V poslednom projekte v Go, koristil som jednotkové testy s balíčkom testing. Pre každého kľúčového komponentu som písal samostatné testy, ktoré overovali správnosť funkcií s rôznymi vstupnými údajmi. Tiež som používal testovacie tabuľky na uľahčenie kontroly viacerých prípadov.
Pre integračné testy som spúšťal testy, ktoré overovali spoluprácu viacerých komponentov, napríklad prácu s databázou cez mock objekty.
Príklad jednoduchého testu:
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; chce %d", tt.a, tt.b, result, tt.expected)
}
}
}
Tiež som používal go test -cover na hodnotenie pokrytia kódu testami a CI/CD na automatické spúšťanie testov pri commitoch.