func Min(x, y int) int { if x < y { return x } return y }
こういう簡単なコードに対してテストコードの生成を行うと以下のようなコードが生成される。
func TestMin(t *testing.T) { type args struct { x int y int } tests := []struct { name string args args want int }{ // TODO: Add test cases. } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := Min(tt.args.x, tt.args.y); got != tt.want { t.Errorf("Min() = %v, want %v", got, tt.want) } }) } }
なるほど。tt
などの変数名ちょっと気になっていたりしたけど慣習的に使われているのね。あまりこの手の自動生成機構使ってなかったけど、解禁しはじめた。便利。