TRY AND ERROR

気になったこと、勉強したこと、その他雑記など色々メモしていきます。。Sometimes these posts will be written in English.,

Goのtestで特定のテストだけ実行する

いまさら知った話。


testifyのSuiteでいくつかのテストケースをsubtestに分けてラベル付けしてたんですが、テスト実行してもうまくフィルタリングできず正常系、異常系ともに実行される。。。

func (suite *TestSuite) TestEdit() {

         // 正常系
	suite.Run("normal", func() {
		...
	})
         
         // 異常系
	suite.Run("abnormal.validation.name", func() {
		...
	})
$ go test -v ./example -count=1 -run /TestEdit/normal


そもそもgo testの-runオプションは部分一致だった!



だから上のケースだとこれでnormalだけ実行できる

$ go test -v ./example -count=1 -run /TestEdit/^normal$


もっというとnormal、abnormalってネーミングがイケてないか。


日本語でラベルつけた方がわかりやすいんだろうけど、cliでマルチバイト打つのになんか抵抗がある。
みんなこういうとこどうしてるんだろうか