Rumah >pembangunan bahagian belakang >Golang >Mengapa Laporan Liputan Kod Go Saya Menunjukkan 0% Apabila Menguji Merentasi Folder Berasingan?

Mengapa Laporan Liputan Kod Go Saya Menunjukkan 0% Apabila Menguji Merentasi Folder Berasingan?

Patricia Arquette
Patricia Arquetteasal
2024-11-25 09:55:12713semak imbas

Why Does My Go Code Coverage Report Show 0% When Testing Across Separate Folders?

Ketidakkonsistenan Liputan Kod Penyahpepijatan dalam Folder Go Terpisah

Apabila unit menguji kod dalam folder berbeza dalam projek Go, anda mungkin menghadapi percanggahan dalam pelaporan liputan kod. Ini boleh mengecewakan, kerana anda mungkin menjangkakan semua kod akan dilindungi semasa menjalankan ujian dalam subfolder.

Masalah:

Walaupun melaksanakan kod daripada folder bahan dalam folder stuff_test, laporan liputan menunjukkan 0% daripada penyata yang dilindungi. Struktur projek berikut terlibat:

stuff/stuff.go -> package: stuff
test/stuff/stuff_test.go -> package: test

Punca Kemungkinan:

Analisis liputan kod terhad kepada pakej yang diuji secara lalai. Dalam kes ini, pakej stuff_test berada dalam folder yang berasingan daripada pakej bahan, yang menyebabkan isu ini.

Penyelesaian:

Untuk menyelesaikan masalah ini, anda boleh menggunakan pilihan -coverpkg semasa menjalankan ujian go. Pilihan ini membolehkan anda menentukan pakej yang anda ingin kumpulkan maklumat liputan.

go test ./test/... -coverprofile=cover.out -coverpkg ./...

Arahan ini akan menggunakan analisis liputan pada semua pakej yang sepadan dengan corak yang ditentukan, yang dalam kes ini adalah semua pakej dalam direktori semasa dan subdirektorinya.

Melihat Laporan Liputan:

Setelah ujian telah jalankan, anda boleh menjana laporan liputan menggunakan arahan penutup alat go.

go tool cover -html=cover.out

Arahan ini akan mencipta laporan HTML bernama cover.out yang boleh anda buka dalam pelayar web untuk melihat maklumat liputan untuk semua pakej yang dinyatakan.

Atas ialah kandungan terperinci Mengapa Laporan Liputan Kod Go Saya Menunjukkan 0% Apabila Menguji Merentasi Folder Berasingan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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