パッケージのテストケースが複数のファイルに分散しています。go test <package_name>
を実行すると、パッケージ内のすべてのテストケースが実行されます。指定されたファイルでテストケースを実行するには?
すべてを実行する必要はありません。 go test
のファイルを指定してファイルに定義されているテストケースのみを実行する方法はありますか?
パッケージのテストケースが複数のファイルに分散しています。go test <package_name>
を実行すると、パッケージ内のすべてのテストケースが実行されます。指定されたファイルでテストケースを実行するには?
すべてを実行する必要はありません。 go test
のファイルを指定してファイルに定義されているテストケースのみを実行する方法はありますか?
2つの方法があります。簡単な方法は、-run
フラグを使用して、実行するテストの名前に一致するパターンを提供することです。
例:$ go test -run NameOfTest
。詳細についてはdocsをご覧ください。
他の方法は、実行するテストを含む、特定のファイルに名前を付けることです。
$ go test foo_test.go
をしかし、落とし穴があります。
'foo_test.go'と 'foo.go'が同じパッケージ(通常のケース)である場合は、 'foo_test'をビルドするために必要な他のすべてのファイルを指定する必要があります。この例では、次のようになります。
$ go test foo_test.go foo.go
名前パターンを使用することをおすすめします。可能であれば、いつでもすべてのパッケージテストを実行してください。 ZZZZの答え@
はほとんど完了しているが、ちょうど次のようにパッケージ内に単一のテストを実行することができますdocumentation参照を通じて掘るすることから他の人を救うために:あなたが中に渡したい
go test packageName -run TestName
注意をではないテストが存在するファイル名。
フラグは実際には正規表現を受け入れますので、テストの実行をテストのクラスに限定することができます。ドキュメントから:のIntelliJ IDEA行く-langのプラグインで
-run regexp
Run only those tests and examples matching the regular
expression.
パッケージ名は完全なパッケージ名であることに注意してください。例: "github.com/you/stuff/a/b/c" – garbagecollector
1.9.3はパッケージの相対パス。 – Amit
Goglandでは、テストファイルを右クリックして "run foo_test.go"を選択すると、テストでパッケージをビルドし、そのテストファイル内のすべてのテストの名前を含む正規表現を-runフラグに渡します。本当に便利な機能です。 – Eloff
'-run'で最初の(簡単な)方法を詳しく教えてもらえますか?私はそのマニュアルを参照することはできません。 –
ああ、私はそれを見つけたhttp://golang.org/cmd/go/#hdr-Test_packages –
それについての情報を見つけることができます 'go help testflag' –