Sobes.tech
Junior — Middle

Czy możesz wyjaśnić, czym są Fixtures i jak są używane w testach?

sobes.tech AI

Odpowiedź od AI

Fixtures w testach to przygotowane dane lub stan środowiska niezbędny do poprawnego wykonania testów. Zapewniają powtarzalność i stabilność testów, tworząc przewidywalne środowisko.

W Go fixtures często są realizowane za pomocą funkcji setup i teardown, które tworzą potrzebne obiekty lub dane przed testem i je czyszczą po nim.

Przykład użycia fixtures w Go:

func setup() *MyStruct {
    // przygotowanie danych
    return &MyStruct{Field: "value"}
}

func teardown() {
    // czyszczenie zasobów
}

func TestSomething(t *testing.T) {
    obj := setup()
    defer teardown()

    // testujemy obj
    if obj.Field != "value" {
        t.Error("Nieoczekiwana wartość")
    }
}

Takie podejście pomaga izolować testy i unikać wpływu poprzednich testów na bieżące.