ホームページ >バックエンド開発 >Golang >別のフォルダーでのテストの実行が成功したにもかかわらず、Go コード カバレッジが 0% と表示されるのはなぜですか?

別のフォルダーでのテストの実行が成功したにもかかわらず、Go コード カバレッジが 0% と表示されるのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-28 10:59:11751ブラウズ

Why Is My Go Code Coverage Showing 0% Despite Successful Test Execution in Separate Folders?

GO プロジェクトの個別フォルダー内のコード カバレッジの不一致を解決する

特定の構造を持つプロジェクトで作業しているとき、パッケージとそのテストは別のフォルダーに配置されている場合、問題が発生しました。 Staff_test.go からのstuff.goでコードを実行したにもかかわらず、カバレッジレポートには0.0%と表示されました。

考えられる原因と解決策

この問題はGOのデフォルトが原因で発生しますカバレッジ分析動作。テスト対象のパッケージにのみ適用されます。これを解決するには、-coverpkg フラグを利用して、カバレッジ データを収集する必要があるパッケージを指定できます。

-coverpkg オプションを使用すると、test/stuff/stuff_test.go 内のテストが収集する必要があることを指定できます。また、stuff/stuff.go のコード カバレッジも考慮してください。これにより、カバレッジ分析に関連するすべてのパッケージが確実に含まれるようになります。

-coverpkg の使用法を示すコマンドの例を次に示します。

go test ./test/... -coverpkg ./...

このコマンドは、テスト パスに一致するパッケージでテストを実行します。 ./....

カバレッジの表示レポート

テストが実行されたら、次のコマンドを使用してカバレッジ レポートを生成および表示できます。

go tool cover -html=cover.out

このコマンドは、cover.out という名前の HTML カバレッジ レポートを生成します。これを Web ブラウザで開くと、カバレッジ データを視覚化できます。

以上が別のフォルダーでのテストの実行が成功したにもかかわらず、Go コード カバレッジが 0% と表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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