Junior — Middle
Կարող եք պատմել ձեր վերջին նախագծում կիրառած թեստավորման գործընթացի մասին?
sobes.tech AI
Պատասխան AI-ից
Վերջին Go նախագծում ես օգտագործել միավորային թեստեր testing փաթեթի միջոցով: Ամեն կարևոր բաղադրիչի համար գրել եմ առանձին թեստեր, որոնք ստուգում էին ֆունկցիաների ճիշտ աշխատանքը տարբեր մուտքային տվյալներով: Նույնպես օգտագործել եմ թեստային աղյուսակներ՝ մի քանի դեպքերի ստուգումը հեշտացնելու համար:
Ինտեգրացիոն թեստերի համար գործարկել եմ այնպիսի թեստեր, որոնք ստուգում էին մի քանի բաղադրիչների փոխազդեցությունը, օրինակ՝ տվյալների բազայի հետ աշխատելը մոկ օբյեկտների միջոցով:
Պարզ օրինակ՝
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; ուզում ենք %d", tt.a, tt.b, result, tt.expected)
}
}
}
Կարող եմ նաև նշել, որ օգտագործել եմ go test -cover՝ կոդի ծածկույթի գնահատման համար և CI/CD՝ ավտոմատ կերպով թեստեր գործարկելու համար յուրաքանչյուր կոմիտից հետո։