Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Sertakan Panggilan Pakej Luaran dalam Laporan Liputan Go Saya?

Bagaimanakah Saya Boleh Sertakan Panggilan Pakej Luaran dalam Laporan Liputan Go Saya?

Linda Hamilton
Lepaskan: 2024-12-01 10:27:10
asal
910 orang telah melayarinya

How Can I Include External Package Calls in My Go Coverage Report?

Termasuk Panggilan Pakej dalam Liputan Go

Masalah:

Dalam projek Go dengan struktur berbilang pakej, fungsi tertentu dalam pakej di luar pakej yang sedang diuji sedang diabaikan oleh laporan liputan. Khususnya, fungsi dalam bar.go yang terletak dalam pakej db tidak menunjukkan sebarang liputan walaupun dipanggil dari foo.go dalam pakej api.

Penyelesaian:

Kepada selesaikan ini, bendera -coverpkg harus ditambahkan pada perintah go test. Bendera -coverpkg menentukan pakej yang hendak disertakan dalam laporan liputan.

Penjelasan:

Secara lalai, laporan liputan hanya termasuk pakej yang diimport terus oleh ujian pakej. Dalam kes ini, foo_test.go (pakej ujian untuk foo.go) tidak mengimport db secara langsung, jadi fungsi dalam bar.go tidak dilindungi.

Menambah bendera -coverpkg secara eksplisit termasuk pakej yang ditentukan dalam analisis liputan. Dalam kes ini, arahan berikut akan memasukkan semua pakej dalam direktori semasa (./...) dalam laporan liputan:

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

Ini akan menjana laporan liputan yang merangkumi panggilan fungsi ke bar. pergi dari foo.go.

Nota:

Menggunakan bendera -coverpkg boleh menjejaskan masa pelaksanaan ujian, kerana ia memerlukan menganalisis bilangan pakej yang lebih besar. Walau bagaimanapun, adalah perlu untuk mendapatkan maklumat liputan yang tepat untuk panggilan fungsi silang pakej.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Sertakan Panggilan Pakej Luaran dalam Laporan Liputan Go Saya?. 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