2017-06-13 13 views
2

実行可能なテストをgo testにリストするにはどうしたらいいですか?どのテスト(サブテストを含む)が存在するのかを知りたいので、後で実行するサブセットを手動で選択することができます。私はgo test -lまたはgo test -nのようなものをこのようなものに期待します。リストテストを実行しますが実行しません

+0

申し訳ありませんが、できません。しかし、同様に動作する 'grep'があります。 – Volker

答えて

3

新しい-listフラグを受け取ります。このフラグは、正規表現を引数として受け取り、テスト、ベンチマーク、またはそれに一致するサンプルの名前を実行せずにstdoutに出力します。

test flags documentationは、公式のgo1.9リリースまでhttps://tip.golang.orgにあります。

1

は、そのためのgoサブコマンドはありませんが、あなたは魔法(-Pフラグのために、GNUバージョン)findgrepの少しでそれを行うことができます。go1.9 go testコマンドで

find /path/to/your/project -not -path "./vendor" -type f -name "*_test.go" -exec cat {} \; | grep -oP '^func (\w+)\(\w \*testing\.T\) {$' | grep -oP ' \w+' | grep -oP '\w+'; 
+0

_彼らはLinuxを使っていると思っています._ – Adrian

+0

これはテスト関数をリストしますが、 'T.Run'で実行されるサブテストはリストしません。 – Adrian

+0

@Adrian GNU grepをインストールするとMacでも動作します。 –

関連する問題