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 サイトの他の関連記事を参照してください。