Sobes.tech
Junior — Middle

Jak wygląda pisanie testów jednostkowych i integracyjnych w języku Go?

sobes.tech AI

Odpowiedź od AI

W Go używa się pakietu testing do pisania testów jednostkowych i integracyjnych.

  • Testy jednostkowe sprawdzają pojedyncze funkcje lub metody w izolacji.
  • Testy integracyjne sprawdzają interakcję kilku komponentów lub pracę z zasobami zewnętrznymi.

Przykład testu jednostkowego:

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

Dla testów integracyjnych można używać osobnych plików z sufiksem _integration_test.go i uruchamiać je oddzielnie, na przykład z flagą -tags=integration.

Często używa się też obiektów mock lub baz danych testowych do symulacji zależności zewnętrznych.

Uruchamianie testów:

go test ./...  # Uruchamia wszystkie testy

W ten sposób Go zapewnia prosty i wbudowany mechanizm do pisania i uruchamiania testów.