Sobes.tech
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.