指定されたファイルでテストケースを実行するにはどうすればいいですか? 質問する

指定されたファイルでテストケースを実行するにはどうすればいいですか? 質問する

パッケージのテスト ケースは複数のファイルに分散しており、実行するとgo test <package_name>パッケージ内のすべてのテスト ケースが実行されます。

ただし、すべてを実行する必要はありません。go test実行するファイルを指定して、そのファイルで定義されているテスト ケースのみを実行する方法はありますか?

ベストアンサー1

方法は 2 つあります。簡単な方法は、-runフラグを使用して、実行するテストの名前に一致するパターンを指定することです。

例:

$ go test packageName -run NameOfTest

を参照してくださいドキュメント詳細については。

フラグは正規表現に一致するため、-run文字列 が含まれている場合は他のテストも実行される可能性があることに注意してください。NameOfTest-run

したがって、正確に 'NameOfTest' という名前のテストのみが実行されるようにするには、次の正規表現を使用する必要があります^NameOfTest$

$ go test -run "^NameOfTest$" 

もう 1 つの方法は、実行するテストを含む特定のファイルに名前を付けることです。

$ go test foo_test.go

しかし、落とし穴があります。これは次の場合にうまく機能します:

  • foo.goは ですpackage foo
  • foo_test.gopackage foo_test'foo' をインポートします。

foo_test.goと がfoo.go同じパッケージである場合(一般的なケース)、 をビルドするために必要な他のすべてのファイルに名前を付ける必要がありますfoo_test。この例では、次のようになります。

$ go test foo_test.go foo.go

パターンを使用することをお勧めします-run。または、可能な場合は常にすべてのパッケージ テストを実行してください。

おすすめ記事