1. ホーム
  2. 行く

[解決済み】指定したファイル内のテストケースを実行するには?

2022-04-02 07:14:33

質問

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

全部実行する必要はないのですが。のファイルを指定する方法はありますか? go test を実行し、そのファイルに定義されたテストケースのみを実行するようにできますか?

解決方法は?

方法は2つあります。簡単なのは -run フラグを設定し パターンが実行したいテストの名前にマッチします。例

go test packageName -run NameOfTest

をご覧ください。 ドキュメント をご覧ください。 なお -run フラグが他のテストを実行することもあります。 NameOfTest のように -run フラグは正規表現にマッチします。ですから NameOfTest' という名前のテストが実行されるようにするには、正規表現を使用しなければなりません。 ^NameOfTest$ :

go test -run "^NameOfTest$" 

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

go test -v foo_test.go

しかし、キャッチがある。これは以下の場合にうまく機能します。

  • foo.gopackage foo .
  • foo_test.gopackage foo_test で、'foo' をインポートしています。

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

go test foo_test.go foo.go

を使うことをお勧めします。 -run パターンを使用します。あるいは、可能な限り、常に パッケージのテストをすべて行います。