Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Mengukur Liputan untuk Pakej dengan Fail Ujian Berasingan dalam Go?

Bagaimanakah Saya Boleh Mengukur Liputan untuk Pakej dengan Fail Ujian Berasingan dalam Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-27 20:18:30754semak imbas

 How Can I Measure Coverage for a Package with Separated Test Files in Go?

Liputan Pakej Ujian dengan Fail Ujian Berasingan

Apabila mengatur pangkalan kod dengan banyak fail ujian, mungkin lebih baik untuk memisahkan ujian daripada yang sebenar asas kod untuk kejelasan dan pematuhan kepada amalan terbaik. Dalam senario sedemikian, fail ujian mungkin berada dalam pakej yang berbeza daripada kod yang sedang diuji.

Satu potensi cabaran timbul apabila mendapatkan statistik liputan untuk pakej sebenar yang sedang diuji. Secara lalai, ujian hanya menyediakan liputan untuk pakej tempat mereka berada. Isu ini berpunca daripada pendekatan Go, yang menentukan bahawa kod dan fail ujian harus wujud bersama dalam pakej yang sama.

Penyelesaian

Nasib baik, Go menyediakan penyelesaian kepada dilema ini:

go test -cover -coverpkg "api_client" "api_client_tests"

Dengan menyatakan bendera "-coverpkg", anda boleh mengarahkan Go untuk mengukur liputan bagi pakej yang ditentukan ("api_client" dalam kes ini ), semasa menjalankan ujian daripada pakej berasingan ("api_client_tests"). Ini membolehkan anda memastikan dengan tepat liputan pakej klien API anda tanpa perlu menyatukannya dengan fail ujian.

Pendekatan Alternatif

Semasa menggunakan pakej ujian yang berasingan boleh memberikan faedah dari segi organisasi, perlu diperhatikan bahawa pendekatan ini menyimpang daripada cara Go konvensional dalam mengatur kod dan ujian. Jika ujian kotak hitam ialah objektif utama anda, di mana hanya API pakej awam boleh diakses untuk ujian, kaedah alternatif tersedia:

  1. Simpan fail ujian dalam pakej yang sama dengan kod.
  2. Gunakan pengubah keterlihatan "dalaman" untuk menyekat akses kepada kaedah dan pembolehubah pakej-peribadi, memastikan hanya API awam pakej terdedah kepada ujian.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengukur Liputan untuk Pakej dengan Fail Ujian Berasingan dalam Go?. 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