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!