Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk menggunakan liputan ujian dalam Go?
Dalam era pembangunan perisian moden, ujian dianggap sebagai salah satu alat utama untuk memastikan kebolehpercayaan dan kualiti kod. Walaupun liputan kod tidak bermakna kod itu boleh dipercayai sepenuhnya dan berfungsi dengan betul, ia adalah penunjuk yang mengesahkan bahawa kod itu diuji dengan secukupnya. Liputan kod merujuk kepada sejauh mana kod ujian kami meliputi kod aplikasi. Dalam bahasa pengaturcaraan Go, anda boleh mengira liputan ujian kod anda dengan mudah dengan menggunakan alat ujian dan liputan terbina dalam. Artikel ini akan memperkenalkan asas dan garis panduan untuk liputan ujian menggunakan Go.
1. Kaedah pengiraan liputan ujian
Liputan ujian merujuk kepada nilai ukuran yang dijana apabila kod ujian meliputi kod sumber. Dokumentasi rasmi Go menyediakan alat analisis liputan Masukkan "go test -cover" pada baris arahan untuk memaparkan keputusan liputan ujian. Di bahagian atas halaman, keluarkan laporan liputan yang merangkumi jumlah bilangan baris kod, bilangan baris yang telah diliputi oleh ujian dan peratusan liputan ujian.
Walau bagaimanapun, tidak semua baris dikira dalam statistik liputan kerana tidak semua baris kod sumber boleh diuji. Sebagai contoh, gelung boleh diulang melalui pernyataan bersyarat, yang memerlukan ujian untuk setiap cawangan. Begitu juga, pengendali pengecualian dan mekanisme pengendalian ralat lain boleh meningkatkan keyakinan ujian anda.
2. Cara menggunakan liputan ujian untuk melaksanakan ujian
Untuk program Go umum, anda perlu mencipta fail kod sumber bernama "mysource.go". Jika anda ingin menguji kod ini, tulis fail ujian khas yang dipanggil "mysource_test.go". Fail ini harus mengandungi fungsi ujian tahap pakej untuk melaksanakan beberapa ujian unit dan kes ujian.
Berikut ialah contoh menggunakan fungsi statistik liputan ujian dalam program Go:
package main func isPalindrome(s string) bool { for i := range s { if s[i] != s[len(s)-i-1] { return false } } return true }
Dalam "mysource_test.go", anda boleh menulis kes ujian berikut untuk menguji fungsi ini :
package main import "testing" func TestIsPalindrome(t *testing.T) { var tests = []struct { input string want bool }{ {"racecar", true}, {"hello", false}, {"", true}, } for _, test := range tests { if got := isPalindrome(test.input); got != test.want { t.Errorf("isPalindrome(%q) = %v", test.input, got) } } }
Di sini kami menggunakan pakej ujian dalam Go. Kami mentakrifkan fungsi ujian yang dipanggil "TestIsPalindrome" yang berulang ke atas struktur yang mengandungi kes ujian. Di dalam gelung, kami menggunakan fungsi t.Errorf untuk mencatat ralat dan mencetak hasil sebenar dan dijangka.
3. Cara melihat maklumat liputan ujian dalam kod
Untuk melihat maklumat liputan ujian, anda perlu melaksanakan arahan "go test -cover". Pengkompil Go akan menjana gambaran keseluruhan liputan untuk menggambarkan bilangan baris kod ujian anda yang meliputi kod aplikasi anda. Contohnya adalah seperti berikut:
PASS coverage: 83.3% of statements ok github.com/mediomelon/testing-in-go 0.003s
Di sini kita melihat bahawa carta liputan menunjukkan bahawa 83.3% daripada kod (bermaksud 5 baris kod yang terkandung dalam 5 ujian) diliputi oleh ujian.
4. Gunakan alat liputan ujian yang lebih canggih
Selain antara muka baris arahan yang ringkas, Go juga menyediakan alat liputan ujian yang lebih maju. Contohnya, gocov ialah alat liputan untuk menguji kod bahasa Go. Ia memaparkan statistik seperti liputan, yang boleh membantu anda memahami jumlah liputan kod ujian anda.
Penggunaan khusus gocov:
github.com/mediomelon/testing-in-go/cmd/upgrade/main.go lines: 100.0% (1/1) total: 100.0% (1/1)
Ringkasan
Dalam bahasa pengaturcaraan Go, menyemak liputan ujian adalah sangat tugas penting tugas penting. Selepas ujian kod dan unit dilaksanakan, gunakan perintah "Go test -cover" untuk mengira tahap liputan kod sumber oleh kod ujian yang dijana. Anda boleh menggunakan alatan seperti gocov untuk mengetahui lebih lanjut tentang statistik liputan. Dengan menggunakan liputan ujian dengan betul, anda boleh memastikan kebolehpercayaan, kebolehselenggaraan dan kestabilan aplikasi anda serta meningkatkan kualiti kod anda.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan liputan ujian dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!