Sobes.tech
Junior — Middle

Kā tiek rakstīti vienību un integrācijas testi Go valodā?

sobes.tech AI

Atbilde no AI

Go valodā tiek izmantots testing pakotne vienību un integrācijas testu rakstīšanai.

  • Vienību testi pārbauda atsevišķas funkcijas vai metodes izolētā veidā.
  • Integrācijas testi pārbauda vairāk komponentu savstarpējo mijiedarbību vai darbu ar ārējiem resursiem.

Vienību testa piemērs:

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)
    }
}

Integrācijas testiem var izmantot atsevišķus failus ar _integration_test.go sufiksu un tos palaist atsevišķi, piemēram, ar -tags=integration karogu.

Tāpat bieži tiek izmantoti mock objekti vai testu datu bāzes ārēju atkarību imitēšanai.

Testu palaišana:

go test ./...  # Palaidīs visus testus

Tādējādi, Go nodrošina vienkāršu un iebūvētu mehānismu testu rakstīšanai un palaišanai.