Go の test における flag パッケージ活用Tips
DRANK
!先日、Findy さんのイベントにて testdata ディレクトリの活用についての発表をさせていただきました。 Test の実現に標準の flag パッケージを活用できる話をしました。testdata 利用の有無に限らずこのTipsは便利なので、知見の共有がしやすくなるように記事にしようと思います。利用方法test での flag パッケージの使い方は3ステップです。 import "flag" var example = flag.Bool("example", false, "example flag.") func TestExample(t *testing.T) { if *example { } } あとは go test -example と実行するだけです。go test が内部で flag.Parse() を呼んでくれるので、追加のコードは不要です。 のコードでもこのTipsは広く使われているので、実際のコードと一緒に活用例を紹介します。Golden Test での活用先日の発表とも重複する内容ですが、Golden Testはよくある活用パターンです。Golden Test はテスト対象の出力結果を事前に保存された "Golden" ファイルと比較するテストで、コードを変更した際、意図しない変更や回帰がないかを検証するために特に有用な手法になります。以下のコードはsrc/go/doc/doc_test.go の例です。flag.Bool で u…