Sobes.tech
Junior — Middle

Kaip rašomi vienetinių ir integracinių testų kalba Go?

sobes.tech AI

Atsakymas iš AI

Go kalboje naudojamas testing paketas rašyti vienetinius ir integracinius testus.

  • Vienetiniai testai patikrina atskiras funkcijas ar metodus izoliuotai.
  • Integraciniai testai patikrina kelių komponentų sąveiką arba darbą su išoriniais ištekliais.

Vienetinio testo pavyzdys:

package mypackage

import "testing"

func TestSum(t *testing.T) {
    got := Sum(2, 3)
    want := 5
    if got != want {
        t.Errorf("Sum(2, 3) = %d; want %d", got, want)
    }
}

Integraciniams testams galima naudoti atskirus failus su _integration_test.go sufiksu ir juos vykdyti atskirai, pvz., su -tags=integration vėliava.

Taip pat dažnai naudojami mock objektai arba testinės duomenų bazės, kad imituotų išorines priklausomybes.

Testų vykdymas:

go test ./...  # Vykdo visus testus

Taip, Go siūlo paprastą ir integruotą mechanizmą rašyti ir vykdyti testus.