go-cmp を使った比較

Go でテストコードを書く時に struct などを比較するようなコードを書く必要がありますが、通常は reflect.DeepEqual が使われるようで、自分が参画していたプロジェクトでも reflect.DeepEqual が使われていました。

が、Go には同じような機能を持った go-cmp なるものもあり、こちらの方が明らかに差分が見やすい!ということでずいぶん前から go-cmp の方を使うようになり便利に使っていました。

しかし、今となっては今まで気づかなかったのが不思議なのですが、この go-cmp はデフォルトでは error の比較はできません。
そこで調べてみたところ、go-cmp は本当にいろいろと柔軟な比較ができることが分かりました。
その内容をここでメモがてら紹介、、、、と思ったのですが、下記のページにとてもよくまとめられているのでリンクにとどめます(/_\*)

go-cmpの各Option紹介

zenn の記事なので消えてなくなることもたぶんないでしょう(^_^;
また go-cmp で困ったら上記のページを参考にさせていただこうと思います(/_\*)

コメント

タイトルとURLをコピーしました