Junior — Middle
Можете ли да опишете процес тестирања који сте применили у последњем пројекту?
sobes.tech АИ
Одговор од АИ
U poslednjem projektu u Go, koristio sam jedinstvene testove sa paketom testing. Za svaki ključni komponent, pisao sam pojedinačne testove koji su proveravali ispravnost funkcija sa različitim ulaznim podacima. Takođe sam koristio tabele testova za olakšavanje provere više slučajeva.
Za integracione testove, pokretao sam testove koji su proveravali interakciju više komponenti, na primer, rad sa bazom podataka putem mock objekata.
Primer jednostavnog testa:
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; želi %d", tt.a, tt.b, result, tt.expected)
}
}
}
Takođe sam koristio go test -cover za procenu pokrivenosti koda testovima i CI/CD za automatsko pokretanje testova pri commit-ovima.