Menguji Pakej Go dengan Subdirektori
Dalam bidang pembangunan Go, persoalan biasa timbul: Bolehkah kami mengatur ujian kami dalam subdirektori untuk meningkatkan kebersihan ruang kerja? Artikel ini bertujuan untuk menjelaskan topik ini.
Amalan Pengujian dan Konvensyen Go
Secara tradisinya, dokumentasi Go mengesyorkan meletakkan kod ujian di lokasi yang sama dengan kod pengeluaran. Walaupun ia boleh memudahkan akses kepada ahli program yang tidak dieksport, pendekatan ini boleh mengakibatkan ruang kerja bersepah. Walau bagaimanapun, terdapat cara untuk memisahkan ujian ke dalam subdirektori sambil mengekalkan kebolehaksesan.
Menjalankan Ujian Secara Rekursif
Untuk melaksanakan ujian merentas berbilang subdirektori, anda boleh memanfaatkan ujian "go " perintah dengan notasi "./...". Daripada direktori akar projek, taip yang berikut:
go test ./...
Arahan ini akan merentasi struktur direktori projek secara rekursif, mengenal pasti dan menjalankan semua fail ujian yang ditemuinya.
Pertimbangan Direktori Asingkan
Jika ujian berada dalam direktori berasingan, ia memerlukan perhatian tambahan. Pastikan pembolehubah dan fungsi yang dieksport dalam pakej utama diawali dengan nama pakej. Ini membolehkan fail ujian mengakses kandungan yang dieksport. Selain itu, kandungan yang tidak dieksport akan kekal tidak boleh diakses.
Pakej lwn. Pemisahan Direktori
Walaupun pemisahan direktori membenarkan organisasi yang lebih bersih, mengekalkan fail ujian bersebelahan dengan sumber utama fail kekal sebagai pilihan praktikal untuk lokasi fail yang mudah.
Liputan Kod Sepanjang Masa
Untuk menjana statistik liputan kod agregat untuk projek Go dalam saluran paip CI/CD, gunakan " projek gocoverstats".
Liputan Ujian Penyepaduan
Sehingga Go 1.20, peralatan liputan kini meluas kepada ujian penyepaduan, membolehkan pengumpulan profil daripada suite ujian yang lebih besar.
Pendekatan Pengujian Alternatif
Sebagai alternatif, anda boleh mempertimbangkan untuk mengatur ujian dalam pakej berasingan dan bukannya subdirektori. Fail ujian untuk pakej "foo" boleh berada dalam pakej bernama "foo_test" sementara masih berada dalam direktori yang sama. Pendekatan ini menghalang akses kepada ahli pakej "foo" yang tidak dieksport.
Atas ialah kandungan terperinci Bolehkah Kami Mengadakan Ujian Go dalam Subdirektori?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!