在 Go 中測試映射等效性
在表驅動測試中,測試映射等效性的挑戰出現了。手動檢查長度和鍵值對變得乏味,尤其是在針對不同的地圖類型重複檢查時。
慣用解決方案
慣用解決方案利用 Go 標準庫的 Reflect 套件。 Reflect.DeepEqual 函數接受兩個interface{} 參數,並透過以下方式檢查是否相等:
範例
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) } }
範例
以上是如何在 Go 中測試 Map 等價性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!