gomockの引数のMatcherでgomock.Eq()を使うときに、構造体がポインタ型だったりするとうまく比較できない。 type Hoge struct { ID string } m.EXPECT().Hoge(gomock.Eq(&Hoge{ID: "1"})).Return(nil).AnyTimes() // マッチしない m.Hoge(&Hoge{ID: "1"}) そのため、go-cmp を使って両者を比較するカスタムMatcherを実装する。 func GomockDeepEq(expected interface{}) gomock.Matcher { return &gomockDeepEqMatcher{ expected: expected, } } type gomockDeepEqMatcher struct { expected interface{} d