Pelaporan Liputan Kod Komprehensif dalam Go
Pembangunan In Go, mendapatkan laporan liputan pakej individu adalah mudah menggunakan bendera -cover. Walau bagaimanapun, mendapatkan pandangan holistik liputan merentas berbilang pakej boleh mencabar.
Untuk menangani isu ini, Go 1.10 memperkenalkan peningkatan ketara dalam pelaporan liputan kod. Bendera -coverpkg kini menerima senarai corak yang dipisahkan koma untuk dipadankan dengan kebergantungan pakej, membolehkan anda menyasarkan kawasan tertentu untuk analisis liputan.
Untuk menjana laporan liputan komprehensif, anda kini boleh melaksanakan perintah berikut:
go test -v -coverpkg=./... -coverprofile=profile.cov ./... go tool cover -func profile.cov
Pendekatan ini akan mengumpulkan data liputan untuk semua pakej yang sepadan dengan corak ./... dan menjana laporan disatukan yang merangkumi liputan terperinci maklumat.
Penyelesaian Warisan untuk Versi Go Lama
Sebelum Pergi 1.10, mendapatkan laporan liputan komprehensif memerlukan pendekatan yang berbeza. Satu penyelesaian sedemikian, dilaksanakan dalam bash, boleh didapati dalam projek gosweep di GitHub:
#!/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 secara rekursif mencari direktori yang mengandungi pakej Go, melaksanakan ujian go dengan liputan didayakan dan mengagregatkan laporan liputan individu ke dalam satu fail profil.cov. Selepas menjana data liputan, anda boleh menggunakan go tool cover -func profile.cov untuk memaparkan laporan terperinci.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Laporan Liputan Kod Komprehensif dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!