Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Mengagregatkan Keputusan Liputan Pakej Go?

Bagaimanakah Saya Boleh Mengagregatkan Keputusan Liputan Pakej Go?

DDD
DDDasal
2024-12-21 10:44:10941semak imbas

How Can I Aggregate Go Package Coverage Results?

Liputan Pakej Agregat Go

Apabila melaksanakan ujian dalam pustaka Go anda, anda mungkin menghadapi keperluan untuk mendapatkan gambaran keseluruhan liputan yang disatukan untuk semua pakej. Secara lalai, bendera '-cover' hanya menyediakan maklumat liputan untuk setiap pakej secara individu.

Penyelesaian

Sejak Go 1.10, anda boleh menggunakan bendera '-coverpkg' untuk menangani isu ini. Hanya jalankan arahan berikut:

go test -v -coverpkg=./... -coverprofile=profile.cov ./...

Selepas menjalankan ujian anda, jana analisis liputan agregat menggunakan:

go tool cover -func profile.cov

Kaedah Warisan (Pra-Go 1.10)

Untuk versi Go sebelum 1.10, anda boleh menggunakan bash berikut skrip:

#!/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

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengagregatkan Keputusan Liputan Pakej Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn