ホームページ >バックエンド開発 >Golang >別々の Go パッケージ間で統合テストを実行するときに、正確なコード カバレッジを達成するにはどうすればよいですか?

別々の Go パッケージ間で統合テストを実行するときに、正確なコード カバレッジを達成するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-12 13:16:09801ブラウズ

How Can I Achieve Accurate Code Coverage When Running Integration Tests Across Separate Go Packages?

パッケージ全体でのコード カバレッジのテスト

個別のパッケージで統合テストを実行する場合、正確なコード カバレッジを達成するのは困難な場合があります。デフォルトでは、テストはテスト対象のパッケージのみを分析します。

この例では、統合テストは "itest" パッケージに存在し、テスト対象のコードは "hello" パッケージに存在します。 go test -v -coverpkg ./... ./itest でテストを実行すると、テスト カバレッジが "itest" パッケージに限定されているため、カバレッジは 0% になります。

包括的なコード カバレッジを取得するには、 - coverpkg フラグには、テスト対象のコードを含むパッケージを含める必要があります。正しいコマンドは次のとおりです:

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

この変更により、テストは「hello」パッケージと「itest」パッケージの両方を分析し、期待されるカバレッジ結果を提供します。

以上が別々の Go パッケージ間で統合テストを実行するときに、正確なコード カバレッジを達成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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