Menyelesaikan Percanggahan Liputan Kod dalam Folder Berasingan untuk Projek GO
Semasa mengerjakan projek dengan struktur tertentu, di mana pakej dan ujiannya terletak dalam folder berasingan, anda menghadapi masalah. Walaupun pelaksanaan kod dalam stuff.go daripada stuff_test.go, laporan liputan dipaparkan 0.0%.
Punca dan Penyelesaian Kemungkinan
Isu ini timbul kerana lalai GO tingkah laku analisis liputan, yang hanya terpakai pada pakej yang sedang diuji. Untuk mengatasinya, bendera -coverpkg boleh digunakan untuk menentukan pakej yang mana data liputan harus dikumpulkan.
Dengan menggunakan pilihan -coverpkg, anda boleh menentukan bahawa ujian dalam test/stuff/stuff_test.go harus pertimbangkan juga liputan kod untuk stuff/stuff.go. Ini memastikan bahawa analisis liputan merangkumi semua pakej yang berkaitan.
Berikut ialah contoh arahan yang menunjukkan penggunaan -coverpkg:
go test ./test/... -coverpkg ./...
Arahan ini menjalankan ujian dalam pakej yang sepadan dengan laluan ujian dan termasuk maklumat perlindungan untuk semua pakej yang sepadan ./....
Melihat Liputan Laporan
Setelah ujian dilaksanakan, anda boleh menjana dan melihat laporan liputan menggunakan arahan berikut:
go tool cover -html=cover.out
Arahan ini menjana laporan liputan HTML bernama cover.out, yang boleh dibuka dalam pelayar web untuk menggambarkan data liputan.
Atas ialah kandungan terperinci Mengapa Liputan Kod Go Saya Menunjukkan 0% Walaupun Pelaksanaan Ujian Berjaya dalam Folder Berasingan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!