ホームページ >バックエンド開発 >Golang >go test -run: テスト識別子でパッケージを指定する方法

go test -run: テスト識別子でパッケージを指定する方法

WBOY
WBOY転載
2024-02-09 12:50:19657ブラウズ

go test -run:如何在测试标识符中指定包

php editor Xinyi では、テスト識別子にパッケージを指定する方法を詳しく紹介します。 Go 言語では、「go test -run」コマンドを使用して、指定したテスト ケースを実行できます。デフォルトでは、このコマンドは現在のディレクトリ内のすべてのテスト ケースを実行します。ただし、特定のテスト パッケージまたはテスト関数のみを実行したい場合もあります。その場合は、「-run」識別子を使用して指定する必要があります。たとえば、「go test -run PackageName」を使用して指定したテスト パッケージのみを実行したり、「go test -run TestFunctionName」を使用して指定したテスト関数のみを実行したりできます。このようにして、必要なテスト ケースをより柔軟に実行し、テストの効率を向上させることができます。

質問内容

foo/bar と foo/baz という 2 つのパッケージがあるとします。 foo/bar と foo/baz の両方に TestFoo がありますが、私は foo/bar の TestFoo のみを実行したいと考えています。さらに、foo/baz には実行したい TestBaz があります。

#go test コマンドを指定して、foo/bar::TestFoo と foo/baz::TestBaz のみを実行することはできますか?

これを達成するために

go test -run を使用しようとしましたが、正規表現を実行するとパッケージ識別子ではなく名前のみでフィルターされるようです:

テストに行く - "TestFoo|TestBaz" foo/bar foo/baz を実行します。

理想的には、次のようなことをしたいです:

テストに行く - "foo/bar/TestFoo|foo/baz/TestBaz" foo/bar foo/baz を実行します。

解決策

foo/bar::TestFoo と foo/baz::TestBaz のみを実行する go test コマンドを指定することはできますか?

いいえ、それは不可能です。

(通常、パッケージは自己完結型である必要があり、複数のテストから選択したテストをテストすることは一般的なユースケースではありません。go test 経由で複数またはすべてのパッケージをテストするだけで十分です。/...)

以上がgo test -run: テスト識別子でパッケージを指定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。