Open12
tenntenn.go#7 メモ
参加したい方はconnpassに登録のうえ、こちらに話せそうなネタを投下してください。
mocknnの話でもしたい
実用的(?)ならこの辺の話をしたい。
structのjsonタグのような形式でflagのoptionが設定できるやつ (https://github.com/heetch/confita に近い)
testでの func(...) (T, error)
がめんどくさいときのやつ。genericsの仕様が悩ましい。
(test helperとtest用のsetup functionを真面目に書けば不要ではみたいな話もある)
まとまっていない話でよければ少し特殊なgenericsの話がしたい
関数のsignatureの不一致をgenericsの特殊化で対応できるみたいな話
genericsを経由した結果のreflect.TypeOf()などを何かしら使いたい
gotest.toolsみたいなassertion helperを使うかどうか問題
h, err := hoge.Open()
assert.NilError(t, err) # エラーがあったらfailしてくれる
t.Helper
をいつ使うか問題
t.Helper()
: 関数内で実行すると、テストがfailしたときのスタックトレースにその関数が含まれなくなるメソッド
アサーションしないヘルパーではt.Helper()
使いたくない気もする。みなさんどうでしょう?
// テストデータを用意するだけのヘルパー関数
func prepareTestdata(t *testing.T, path string) io.Reader {
f, err := os.Open(...)
if err != nil { // ここでエラー出たっていうことを明示したい
t.Fail(err)
}
return f
}
generics 使ってます?
pkg パッケージの由来?