Ujian integrasi memainkan peranan penting dalam memastikan kebolehpercayaan dan keberkesanan API REST anda. Walau bagaimanapun, mengukur liputan yang dicapai oleh ujian ini boleh menjadi mencabar. Artikel ini menangani isu biasa: mendapatkan liputan ujian yang tepat semasa menulis ujian integrasi di luar sempadan pakej.
Seperti yang dinyatakan dalam pertanyaan, menggunakan go test -cover sahaja boleh menghasilkan 0 % keputusan liputan untuk ujian integrasi yang bukan sebahagian daripada pakej yang diuji. Sebabnya terletak pada fakta bahawa alat liputan hanya mempertimbangkan pakej yang sedang diuji, bukan yang mereka gunakan.
Penyelesaian terletak pada menggunakan arahan -coverpkg. Pilihan ini membolehkan anda menentukan pakej khusus yang liputannya ingin anda ukur, walaupun pakej tersebut tidak diuji secara eksplisit. Contohnya, arahan berikut:
$ go test -cover -coverpkg mypackage ./src/api/...
akan mengukur liputan dalam pakej mypackage, walaupun ujian itu sendiri ditakrifkan dalam pakej yang berasingan.
Untuk menggambarkan perbezaannya, pertimbangkan senario berikut:
Tiada -coverpkg:
$ go test -cover ./src/api/... ok /api 0.191s coverage: 71.0% of statements ok /api/mypackage 0.023s coverage: 0.7% of statements
Dengan -coverpkg:
$ go test -cover -coverpkg mypackage ./src/api/... ok /api 0.190s coverage: 50.8% of statements in mypackage ok /api/mypackage 0.022s coverage: 0.7% of statements in mypackage
Seperti yang anda lihat, liputan mypackage jauh lebih tinggi apabila menggunakan -coverpkg, memberikan gambaran yang lebih tepat tentang liputan sebenar yang dicapai.
Dengan memanfaatkan -coverpkg arahan, pembangun boleh mengukur dengan berkesan liputan pakej yang digunakan dalam ujian penyepaduan mereka, membolehkan mereka mengenal pasti kawasan yang memerlukan ujian tambahan. Pelaporan liputan yang dipertingkatkan ini menyumbang kepada pembangunan sistem perisian yang lebih mantap dan boleh dipercayai.
Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Mengukur Liputan Ujian Integrasi di Golang untuk Pakej Melebihi Pakej yang Diuji?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!