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