Go でのマップの等価性のテスト
テーブル駆動テストでは、マップの等価性をテストするという課題が生じます。長さとキーと値のペアを手動で確認するのは、特にさまざまなマップ タイプに対して繰り返す場合に面倒になります。
慣用的な解決策
慣用的な解決策では、Go 標準ライブラリのリフレクト パッケージを利用します。 reflect.DeepEqual 関数は 2 つのインターフェース引数を受け取り、次の方法で等しいかどうかをチェックします。
例
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 でマップの等価性をテストするには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。