Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan rangka kerja ujian dalam Go?

Bagaimana untuk menggunakan rangka kerja ujian dalam Go?

PHPz
PHPzasal
2023-05-11 15:16:421614semak imbas

Bahasa Go ialah bahasa yang ditaip kuat, dan pembangunnya menghargai kebolehbacaan dan kebolehselenggaraan kod. Dalam Go, pembangun boleh menggunakan rangka kerja ujian terbina dalam untuk ujian unit, ujian penyepaduan dan ujian berfungsi.

Artikel ini akan memperkenalkan cara menggunakan rangka kerja ujian dalam Go, termasuk asas rangka kerja ujian, menulis kes ujian, menjalankan ujian dan analisis liputan ujian.

1. Pengetahuan asas rangka kerja ujian

Rangka kerja ujian ialah koleksi alatan untuk menguji kod. Dalam Go, pakej ujian ialah perpustakaan standard untuk rangka kerja ujian Go. Pustaka ini menyediakan semua alatan yang diperlukan untuk menulis dan menjalankan kes ujian. Fungsi utama dalam

pakej ujian adalah seperti berikut:

  • func TestXxx(t testing.T): fungsi ujian, di mana Xxx boleh menjadi sebarang rentetan. Fungsi ini digunakan untuk menulis kes ujian dan menerima parameter t jenis ujian.T untuk melaporkan keputusan ujian.
  • func (c *T) Log(args ...interface{}): Cetak maklumat log. Apabila ujian gagal, maklumat log akan menjadi maklumat penting yang menyebabkan ujian gagal.
  • func (c *T) Ralat(args ...antara muka{}): Ujian gagal dan maklumat log ralat direkodkan.
  • func (c *T) Fail(): Tandakan fungsi ujian sebagai gagal tetapi jangan rekod maklumat log.
  • func (c *T) FailNow(): Tandakan fungsi ujian sebagai gagal dan hentikan pelaksanaan serta-merta.

2. Menulis kes ujian

Menulis kes ujian ialah tugas teras rangka kerja ujian. Dalam Go, fail ujian biasanya berakhir dengan _test.go. Katakan kita ingin menguji kod berikut:

package main

func Add(x int, y int) int {
    return x + y
}

func main() {
    println("Hello, world!")
}

Kita boleh menulis kes ujian dalam fail _test.go:

package main

import (
    "testing"
)

func TestAdd(t *testing.T) {
    result := Add(1, 2)
    if result != 3 {
        t.Errorf("Add(1, 2) = %d; want 3", result)
    }
}

Kami telah menulis kes ujian melalui fungsi TestAdd. Dalam fungsi ini, kami memanggil fungsi Tambah dan bandingkan hasilnya dengan hasil yang dijangkakan. Jika kedua-duanya tidak sama, gunakan fungsi t.Errorf untuk mengeluarkan mesej ralat dan tandakan ujian sebagai gagal.

3. Jalankan ujian

Selepas kes ujian ditulis, kita perlu menjalankan ujian untuk memeriksa sama ada kod itu berfungsi dengan betul. Terdapat dua cara untuk menjalankan ujian: baris arahan dan IDE.

  1. Baris arahan

Dalam baris arahan, kita boleh menggunakan arahan go test untuk menjalankan kes ujian. Masukkan arahan berikut pada baris arahan:

$ go test

Menjalankan arahan ini akan menemui semua fail yang berakhir dengan _test.go dalam direktori semasa dan melaksanakan fungsi ujian di dalamnya. Jika semua kes ujian lulus, arahan akan mengeluarkan "ok". Jika terdapat kes ujian yang gagal dalam kes ujian, arahan ini akan mengeluarkan maklumat kegagalan dan mengembalikan nilai bukan sifar untuk memaklumkan bahawa ujian itu tidak berjaya.

  1. IDE

Kami juga boleh menjalankan kes ujian dalam persekitaran pembangunan bersepadu (IDE). Sebagai contoh, anda boleh menggunakan sambungan Go dalam Kod Visual Studio untuk menjalankan ujian. Dalam Kod VS, menekan kekunci F5 akan menjalankan kes ujian di mana kursor semasa berada.

4. Analisis liputan ujian

Analisis liputan ujian ialah bahagian penting dalam rangka kerja ujian. Dalam Go, anda boleh melihat liputan ujian menggunakan bendera -cover bagi arahan go test. Contohnya:

$ go test -cover

Arahan ini akan mengeluarkan maklumat liputan ujian, termasuk liputan kod, liputan pernyataan, liputan fungsi, dsb.

5. Kesimpulan

Pengujian ialah kunci untuk menulis kod berkualiti tinggi. Dalam Go, rangka kerja ujian terbina dalam menyediakan pelbagai alat dan fungsi untuk membantu pembangun menulis, menjalankan dan menganalisis kes ujian. Menggunakan rangka kerja ujian memastikan kod anda berfungsi dengan betul dan mengurangkan ralat dan kelemahan.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan rangka kerja 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