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
Untuk menggunakan alat ujian unit Golang, anda perlu memasang Golang sendiri dan memuat turun versi terkini daripada laman web rasmi Golang, kemudian pasangkannya.
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 }
Anda boleh menulis kod ujian berikut:
import "testing" func TestAdd(t *testing.T){ if add(1, 2) != 3 { t.Error("test add func failed") } }
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
2. Bahagian lanjutan
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") } }) }
Di sini, t.Run digunakan untuk membezakan subujian yang berbeza dan melaksanakan setiap subujian secara berasingan.
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") } }
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){ //测试代码 }) }
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!