Penjelasan tentang teknik pengujian unit untuk fungsi Golang

王林
Lepaskan: 2023-05-16 12:12:40
asal
736 orang telah melayarinya

Golang, sebagai bahasa yang baru muncul, telah diterima pakai oleh semakin banyak perusahaan atau pembangun Dalam senario aplikasi ini, fungsi adalah modul yang paling asas, dan kestabilan dan kebolehpercayaannya adalah faktor utama untuk kejayaan aplikasi. Oleh itu, ujian unit adalah sangat penting dalam proses pembangunan Golang, dan di sini, kami akan menerangkan kemahiran menguji unit fungsi Golang.

1. Bahagian asas

  1. Memasang Golang

Untuk menggunakan alat ujian unit Golang, anda perlu memasang Golang sendiri dan memuat turun versi terkini daripada laman web rasmi Golang, kemudian pasangkannya.

  1. Tulis kod ujian

Sebelum melakukan ujian unit, anda perlu menulis kod ujian yang sepadan terlebih dahulu Berikut ialah contoh fungsi mudah:

func add(a, b int) int{
    return a + b
}
Salin selepas log masuk

Anda boleh menulis kod ujian berikut:

import "testing"
func TestAdd(t *testing.T){
    if add(1, 2) != 3 {
        t.Error("test add func failed")
    }
}
Salin selepas log masuk
  1. Jalankan kod ujian

Selepas menulis kod ujian, anda boleh melaksanakan arahan ujian go dalam baris arahan, anda boleh lihat Keputusan ujian adalah seperti berikut:

PASS
ok   go-demo/src/ 0.001s
Salin selepas log masuk

2. Bahagian lanjutan

  1. Subtest

Jika anda perlu melakukan beberapa ujian unit pada yang sama fungsi, anda boleh menggunakan ujian subujian.

func TestAdd(t *testing.T){
    t.Run("add(x, y)", func(t *testing.T){
        if add(1, 2) != 3 {
            t.Error("test add func failed")
        }
    })
    t.Run("add(a, b)", func(t *testing.T){
        if add(2, 3) != 5 {
            t.Error("test add func failed")
        }
    })
}
Salin selepas log masuk

Di sini, t.Run digunakan untuk membezakan subujian yang berbeza dan melaksanakan setiap subujian secara berasingan.

  1. Ujian selari

Apabila terdapat banyak fungsi atau kes ujian memakan masa, ujian selari boleh digunakan untuk meningkatkan kecekapan ujian. Golang menyokong penambahan kata kunci Parallel() atau TestParallel() pada nama fungsi kes ujian untuk mendayakan ujian selari.

func TestAdd(t *testing.T){
    t.Parallel()
    if add(1, 2) != 3 {
        t.Error("test add func failed")
    }
}
Salin selepas log masuk
  1. Ujian tertunda

Apabila anda perlu menambah beberapa sumber pada kes ujian atau subujian, seperti fail, sambungan pangkalan data, dsb., anda boleh menggunakan ujian tertunda .

func TestAdd(t *testing.T){
    t.Cleanup(func() {
        //释放连接
    })
    t.Run("add(x, y)", func(t *testing.T){
        //测试代码
    })
}
Salin selepas log masuk

Di sini, fungsi t.Cleanup akan dilaksanakan selepas setiap sub-ujian atau kes ujian selesai untuk mengeluarkan sumber.

Ringkasan:

Melalui pengenalan artikel ini, kami mempelajari tentang kemahiran menguji unit fungsi Golang Pertama, kami memperkenalkan bahagian asas Golang, termasuk memasang Golang, menulis kod ujian, dan menjalankan kod ujian; kemudian Beberapa bahagian lanjutan diperkenalkan, termasuk subujian, ujian selari, ujian tertunda, dsb. Dalam pembangunan Golang sebenar, ujian unit adalah bahagian yang sangat diperlukan. Saya harap catatan blog ini dapat memberikan sedikit bantuan kepada semua orang.

Atas ialah kandungan terperinci Penjelasan tentang teknik pengujian unit untuk fungsi Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan