Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk menggunakan liputan ujian dalam Go?

Bagaimana untuk menggunakan liputan ujian dalam Go?

WBOY
WBOYasal
2023-05-11 17:04:532555semak imbas

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:

  1. Mula-mula pasang alat gocov;
  2. Muat turun kod sumber;
  3. Jalankan "gocov test . | gocov perintah laporan ”;
  4. Selepas pelaksanaan, liputan akan dikeluarkan seperti berikut:
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!

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