Testen der Kartenäquivalenz in Go
Bei tabellengesteuerten Tests stellt sich die Herausforderung, die Kartengleichheit zu testen. Das manuelle Überprüfen von Längen und Schlüssel-Wert-Paaren wird mühsam, insbesondere wenn es für verschiedene Kartentypen wiederholt wird.
Idiomatische Lösung
Die idiomatische Lösung nutzt das Reflect-Paket der Go-Standardbibliothek. Die Funktion „reflect.DeepEqual“ nimmt zwei Interface{}-Argumente auf und prüft sie auf Gleichheit, indem sie:
Beispiel
import "reflect" func TestMapEquality(t *testing.T) { m1 := map[string]int{"foo": 1, "bar": 2} m2 := map[string]int{"foo": 1, "bar": 2} eq := reflect.DeepEqual(m1, m2) if !eq { t.Errorf("Maps not equal: %v", m1, m2) } }
Zusätzliche Hinweise
Das obige ist der detaillierte Inhalt vonWie teste ich die Kartenäquivalenz in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!