首頁 > 後端開發 > Golang > 如何匯總 Go 包覆蓋率結果?

如何匯總 Go 包覆蓋率結果?

DDD
發布: 2024-12-21 10:44:10
原創
933 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板