ホームページ >バックエンド開発 >Golang >関数が定義されているにもかかわらず、「go test」で「実行するテストがありません」と表示されるのはなぜですか?

関数が定義されているにもかかわらず、「go test」で「実行するテストがありません」と表示されるのはなぜですか?

DDD
DDDオリジナル
2024-12-18 05:47:13406ブラウズ

Why Does `go test` Show

テスト関数の名前付けを間違えました

テスト関数を定義したにもかかわらず、go test の実行中に「実行するテストがありません」というメッセージが表示されます。この問題の原因を調査しましょう。

Go テスト パッケージでは、テスト関数が特定の命名規則に準拠していることが期待されます。公式ドキュメントによると:

func TestXxx(t *testing.T) { ... }

あなたの場合、テスト関数の名前は testNormalizePhoneNum ですが、これは上記の規則に準拠していません。関数名の最初の文字は大文字 (「T」) である必要があります。

解決策:

この問題を解決するには、テスト関数の名前を TestNormalizePhoneNum (大文字) に変更するだけです。 「T」)。この変更を行った後、go test を実行すると、テスト ケースが正常に実行されるはずです。

代替方法:

または、テスト パッケージに非実行パッケージを強制的に実行することもできます。 -run フラグを使用した従来の名前のテスト関数:

go test -run=testNormalizePhoneNum

このフラグを使用すると、テスト関数の名前を指定できます。 (またはその名前に一致する正規表現) を実行します。ただし、このアプローチは通常、日常的なテスト目的には推奨されません。

以上が関数が定義されているにもかかわらず、「go test」で「実行するテストがありません」と表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。