Bagaimana Saya Boleh Menangkap Liputan Kod daripada Ujian Integrasi Terhadap Perduaan Go?

Mary-Kate Olsen
Lepaskan: 2024-10-30 09:19:27
asal
449 orang telah melayarinya

How Can I Capture Code Coverage from Integration Tests Against a Go Binary?

Merakam Liputan Kod daripada Go Binary

Apabila menjalankan ujian unit, menangkap liputan kod adalah mudah. Walau bagaimanapun, pengumpulan metrik liputan semasa ujian penyepaduan terhadap binari itu sendiri boleh membuktikan mencabar. Adakah terdapat cara untuk mengatasi halangan ini?

Keperluan untuk Liputan Ujian Integrasi

Ujian integrasi memberikan pandangan yang lebih komprehensif tentang liputan kod berbanding ujian unit sahaja. Dengan menjalankan perduaan terhadap input dunia sebenar, kami boleh menilai bagaimana kod kami bertindak dalam pelbagai keadaan.

Cabaran

Alat liputan Go beroperasi hanya bersamaan dengan pakej ujian. Ini menimbulkan isu untuk ujian penyepaduan yang biasanya tidak sesuai dalam rangka kerja ini.

Penyelesaian: Ujian Penyepaduan dalam Rangka Kerja Pengujian Go

Untuk menangkap liputan daripada ujian penyepaduan , kita perlu menyepadukannya ke dalam pakej ujian entah bagaimana.

  1. Buat Fail Ujian: Cipta fail ujian yang melaksanakan fungsi utama() anda dalam goroutine.
<code class="go">func TestMainApp(t *testing.T) {
    go main()
    // ... Start integration tests here
}</code>
Salin selepas log masuk
  1. Laksanakan Ujian Penyepaduan: Gunakan exec.Cmd untuk menjalankan ujian penyepaduan anda di luar goroutine yang dibuat sebelum ini.
  2. Kumpulkan Statistik Liputan: Akhir sekali, kumpulkan statistik liputan menggunakan alat liputan.

Sumber Lain

Untuk perbincangan sebelumnya tentang topik ini, rujuk artikel " Pergi liputan dengan ujian luaran," yang meneroka pendekatan yang setanding.

Atas ialah kandungan terperinci Bagaimana Saya Boleh Menangkap Liputan Kod daripada Ujian Integrasi Terhadap Perduaan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!