外部パッケージの Golang 統合テスト カバレッジを正確に測定するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-12 10:36:02
オリジナル
453 人が閲覧しました

How to Accurately Measure Golang Integration Test Coverage for External Packages?

Golang 統合テストのテスト カバレッジの決定

Golang での統合テストのテスト カバレッジの測定は、テストがサービスの外部にある場合に課題が生じる可能性があります。テストされました。適切なディレクティブなしで go test -cover を使用すると、カバレッジ統計が不正確になる可能性があります。

解決策: -coverpkg ディレクティブを活用する

-coverpkg ディレクティブは、次のことを許可することでこの問題に対処します。テストがそのパッケージの一部であるかどうかに関係なく、カバレッジを測定するパッケージを指定します。 mypackage パッケージのカバレッジを測定する例を次に示します。

$ go test -cover -coverpkg mypackage ./src/api/...
ログイン後にコピー

このコマンドは、mypackage パッケージを使用するがその一部ではないテストを除き、特に mypackage パッケージのカバレッジ統計を提供します。

カバレッジ レポートの比較

-coverpkg を使用した場合と使用しない場合で生成されたカバレッジ レポートを比較することによってディレクティブを使用すると、ターゲットのパッケージの統合テストによって達成された実際のカバレッジを評価できます。

例:

-coverpkg なし:

$ 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 の場合:

$ 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
ログイン後にコピー

上記の例では、mypackage のカバレッジ-coverpkg を使用すると、パッケージの割合が 50.8% に減少します。これは、統合テストがターゲットのパッケージのコードを完全にカバーしていないことを示しています。この情報は、統合テストをさらに強化して、より包括的な範囲を達成する際に役立ちます。

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

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