Sobes.tech
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՝ ավտոմատ կերպով թեստեր գործարկելու համար յուրաքանչյուր կոմիտից հետո։