Cara Menyatukan Keputusan Liputan Kod untuk Pelbagai Pakej dalam Go
Apabila menguji berbilang pakej dalam perpustakaan Go, ia boleh memberi manfaat untuk mendapatkan pandangan menyeluruh tentang liputan kod. Secara lalai, menggunakan -cover flag with go test menyediakan maklumat liputan untuk pakej individu.
Untuk mengagregat data liputan merentas semua pakej, anda boleh menggunakan salah satu daripada dua pendekatan:
Menggunakan -coverpkg dalam Go 1.10 dan lebih baru:
Dalam Go 1.10 dan lebih tinggi, bendera -coverpkg membenarkan anda untuk menentukan senarai sasaran liputan yang dipisahkan koma. Untuk menampung semua kebergantungan pakej ujian, gunakan:
go test -v -coverpkg=./... -coverprofile=profile.cov ./... go tool cover -func profile.cov
Menggunakan skrip Bash dalam versi Go terdahulu:
Untuk versi Go sebelum 1.10, pertimbangkan untuk menggunakan skrip Bash untuk mengumpul dan menyatukan data liputan:
#!/bin/bash set -e 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
Skrip ini berulang melalui direktori dengan fail Go, berjalan ujian dengan liputan didayakan dan menambahkan keputusan pada fail profil yang disatukan (profile.cov). Anda kemudiannya boleh menggunakan penutup alat go untuk menjana ringkasan liputan kod keseluruhan.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Hasil Liputan Kod daripada Pelbagai Pakej Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!