Junior — Middle
Vai jūs varētu pastāstīt par testēšanas procesu, ko jūs izmantojāt savā pēdējā projektā?
sobes.tech AI
Atbilde no AI
Pēdējā Go projektā es izmantoju vienību testus ar testing paketi. Katram galvenajam komponentam es rakstīju atsevišķus testus, kas pārbaudīja funkciju pareizu darbību ar dažādiem ievades datiem. Tāpat es izmantoju testu tabulas, lai atvieglotu daudzu gadījumu pārbaudi.
Integrācijas testiem es palaidu testus, kas pārbaudīja vairākus komponentus kopā, piemēram, darbu ar datu bāzi caur mock objektiem.
Vienkārša testa piemērs:
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; gribam %d", tt.a, tt.b, result, tt.expected)
}
}
}
Tāpat es izmantoju go test -cover, lai novērtētu koda pārklājumu ar testiem, un CI/CD, kas automātiski palaidīs testus katrā komitā.