ホームページ >バックエンド開発 >Golang >Go 統合テストでカバレッジを正確に測定するにはどうすればよいですか?

Go 統合テストでカバレッジを正確に測定するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-08 20:40:01467ブラウズ

How Can I Accurately Measure Coverage in Go Integration Tests?

Go 統合テストでのテスト カバレッジの測定

Go REST API で統合テストを実行する場合、 go test -cover を使用すると誤解を招く可能性があります。テストカバレッジは 0%。これは、サービス パッケージの外部にあるテストが go ツール カバーによって認識されないためです。

ただし、-coverpkg ディレクティブは、テストはそのパッケージに属します。これにより、次のようなサービス パッケージの正確なカバレッジ レポートが可能になります。

$ go test -cover -coverpkg mypackage ./src/api/...
ok      /api    0.190s  coverage: 50.8% of statements in mypackage
ok      /api/mypackage   0.022s  coverage: 0.7% of statements in mypackage

対照的に、 go test -cover を使用すると、次のようにレポートされます。

$ go test -cover ./src/api/...
ok      /api    0.191s  coverage: 71.0% of statements
ok      /api/mypackage   0.023s  coverage: 0.7% of statements

これは、次のような -coverpkg の有効性を示しています。カバレッジ測定を目的のパッケージ (この場合は mypackage) に分離します。これは統合テストのカバレッジに対する最適なアプローチではないかもしれませんが、特定のモジュールのコード カバレッジに関する貴重な洞察を提供します。

以上がGo 統合テストでカバレッジを正確に測定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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