Go でテストコードを書く時に struct などを比較するようなコードを書く必要がありますが、通常は reflect.DeepEqual
が使われるようで、自分が参画していたプロジェクトでも reflect.DeepEqual
が使われていました。
が、Go には同じような機能を持った go-cmp
なるものもあり、こちらの方が明らかに差分が見やすい!ということでずいぶん前から go-cmp
の方を使うようになり便利に使っていました。
しかし、今となっては今まで気づかなかったのが不思議なのですが、この go-cmp
はデフォルトでは error
の比較はできません。
そこで調べてみたところ、go-cmp
は本当にいろいろと柔軟な比較ができることが分かりました。
その内容をここでメモがてら紹介、、、、と思ったのですが、下記のページにとてもよくまとめられているのでリンクにとどめます(/_\*)
go-cmpの各Option紹介
zenn の記事なので消えてなくなることもたぶんないでしょう(^_^;
また go-cmp
で困ったら上記のページを参考にさせていただこうと思います(/_\*)
コメント