TL; DR GoのGenericsを活用したテストユーティリティを試験的に作ってみました。 こんな感じにテストを記述できます。 colors := ["red", "blue"] // NG: colors が配列なのに、文字型と比較しようとしてコンパイルエラーになる // gt.Array(t, colors).Equal("red") // NG: 配列同士だが、colorsは []string なのに対して []int を比較しようとしているのでコンパイルエラーになる // gt.Array(t, colors).Equal([]int{1, 2}) // ↓はOKでコンパイルはできる gt.Array(t, colors).Equal([]string{"red", "blue"}) // <- Pass gt.Array(t, colors).Have("orange") //