ホームページ > バックエンド開発 > Golang > Go パッケージのカバレッジ結果を集計するにはどうすればよいですか?

Go パッケージのカバレッジ結果を集計するにはどうすればよいですか?

DDD
リリース: 2024-12-21 10:44:10
オリジナル
914 人が閲覧しました

How Can I Aggregate Go Package Coverage Results?

Go パッケージ カバレッジの集計

Go ライブラリでテストを実行するとき、すべてのパッケージの統合されたカバレッジ概要を取得する必要が生じる場合があります。パッケージ。デフォルトでは、「-cover」フラグは各パッケージのカバレッジ情報を個別に提供するだけです。

ソリューション

Go 1.10 以降、「-coverpkg」フラグを利用できます。この問題に対処するために。次のコマンドを実行するだけです:

go test -v -coverpkg=./... -coverprofile=profile.cov ./...
ログイン後にコピー

テストを実行した後、以下を使用して集計されたカバレッジ分析を生成します:

go tool cover -func profile.cov
ログイン後にコピー

レガシーメソッド (Pre-Go 1.10)

1.10 より前の Go バージョンの場合、次の bash を使用できます。スクリプト:

#!/bin/bash

echo 'mode: count' > profile.cov

for dir in $(find . -maxdepth 10 -not -path './.git*' -not -path '*/_*' -type d); do
  if ls $dir/*.go &>/dev/null; then
    go test -short -covermode=count -coverprofile=$dir/profile.tmp $dir
    if [ -f $dir/profile.tmp ]; then
      cat $dir/profile.tmp | tail -n +2 >> profile.cov
      rm $dir/profile.tmp
    fi
  fi
done

go tool cover -func profile.cov
ログイン後にコピー

以上がGo パッケージのカバレッジ結果を集計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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