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.