ホームページ > バックエンド開発 > Golang > テスト関数が存在する場合でも、Go が「テスト中: 警告: 実行するテストがありません」と報告するのはなぜですか?

テスト関数が存在する場合でも、Go が「テスト中: 警告: 実行するテストがありません」と報告するのはなぜですか?

Linda Hamilton
リリース: 2024-12-13 15:15:16
オリジナル
900 人が閲覧しました

Why Does Go Report

テスト関数があるにも関わらず「実行するテストがありません」

Go でテストを実行すると、「テスト中: 警告: 実行するテストがありません」というエラーが発生します。テスト機能はイライラする可能性があります。この問題が発生する理由とその解決方法は次のとおりです。

命名規則の見落とし

Go テスト関数は特定の命名規則に従います。接頭辞「Test」で始める必要があります。テスト関数の名前が「TestNormalizePhoneNum」ではなく「testNormalizePhoneNum」で大文字の「T」が付いている場合、テスト ツールはそれを無視します。この規則に従うように関数の名前を変更します。

正規表現の使用

命名規則に従わない関数をテストする必要がある高度なシナリオでは、-run フラグを使用できます。 go test コマンドで。このフラグを使用すると、テスト関数の名前に一致する正規表現を指定できます。たとえば、「testNormalizePhoneNum」の実行を強制するには:

go test -run=testNormalizePhoneNum
ログイン後にコピー

テスト ファイルを除外

「実行するテストがありません」エラーのもう 1 つの考えられる理由は、テスト ファイルが含まれていないことです。テストスイート内で。 main_test.go ファイルが main.go と同じディレクトリにあり、テスト ファイルの名前が「_test.go」で終わることを確認してください。

パッケージ名が間違っています

パッケージ名がmain_test.go ファイルが main.go のパッケージ名と一致しない場合、テスト ツールはテスト関数を認識しません。パッケージ名が両方のファイルで同一であることを確認してください。

関数のシグネチャ

テスト関数には特定のシグネチャが必要です。 *testing.T 型の引数を 1 つ取り、何も返さないようにする必要があります。テスト関数がこの要件を満たしていない場合、テスト ツールはそれを有効なテスト関数とはみなしません。

これらのガイドラインに従うことで、テスト関数がテストによって適切に認識され、実行されることを確認できます。ツールを使用すると、Go コードを効果的にテストできます。

以上がテスト関数が存在する場合でも、Go が「テスト中: 警告: 実行するテストがありません」と報告するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート