Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Mendapat Liputan Kod Go Komprehensif Merentas Pelbagai Pakej?

Bagaimanakah Saya Boleh Mendapat Liputan Kod Go Komprehensif Merentas Pelbagai Pakej?

Linda Hamilton
Lepaskan: 2024-12-10 18:53:10
asal
696 orang telah melayarinya

How Can I Get Comprehensive Go Code Coverage Across Multiple Packages?

Mendapat Cerapan Liputan Merentasi Sempadan Pakej dalam Go

Apabila bekerja dengan projek Go yang melibatkan berbilang pakej, adalah penting untuk memastikan maklumat liputan yang komprehensif untuk analisis kod yang tepat. Walau bagaimanapun, adalah perkara biasa untuk menghadapi situasi di mana laporan liputan mengecualikan fungsi yang berada dalam pakej yang berbeza.

Mari pertimbangkan senario di mana projek anda terdiri daripada struktur berikut:

  • app/api/ foo.go: Mengandungi fungsi yang memanggil fungsi yang terletak di src/db/bar.go.

Apabila menjalankan analisis liputan, anda mungkin perasan bahawa laporan liputan tidak menunjukkan garisan yang dilindungi untuk bar.go. Percanggahan ini timbul kerana mekanisme perlindungan lalai dalam Go tidak termasuk fungsi dari luar pakej yang sedang diuji.

Penyelesaian: Lanjutkan Perlindungan dengan Coverpkg

Untuk mengatasi had ini, Go menyediakan penyelesaian melalui bendera -coverpkg. Dengan menyatakan bendera ini semasa analisis liputan, anda boleh melanjutkan pengiraan liputan untuk memasukkan fungsi dalam pakej lain.

Arahan liputan yang dikemas kini sepatutnya kelihatan seperti ini:

go test -coverpkg=./... -coverprofile=coverage.out ./...
Salin selepas log masuk

The -coverpkg=. /... flag arahan Pergi untuk mengira liputan untuk semua pakej dalam projek anda, termasuk panggilan fungsi silang pakej. Selepas itu, laporan liputan akan memberikan pandangan tentang liputan foo.go dan bar.go.

Pendekatan ini menghapuskan keperluan untuk ujian berasingan untuk pakej db dan api, memperkemas proses ujian sambil memastikan analisis liputan komprehensif .

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapat Liputan Kod Go Komprehensif Merentas Pelbagai Pakej?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan