Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menguji fungsi Golang?
Panduan Pengujian Fungsi Go: Ujian unit digunakan untuk menguji kelakuan fungsi secara berasingan. testimoni/assert menyediakan alat penegasan yang berguna dan perlu diimport github.com/stretchr/testify/assert. Gunakan assert.Equal(t, expected value, function call) untuk menegaskan. Jalankan ujian menggunakan arahan go test.
Ujian unit adalah penting semasa menulis program Go, membolehkan kami mengesahkan bahawa fungsi berjalan seperti yang diharapkan. Artikel ini menyediakan panduan langkah demi langkah tentang cara menguji fungsi Go, lengkap dengan contoh praktikal.
Ujian unit menguji kelakuan fungsi dalam persekitaran terpencil, tanpa mengambil kira kod lain.
testify/assert ialah pakej ujian Go yang popular dengan set alat penegasan yang berguna. Untuk memasangnya, jalankan:
go get github.com/stretchr/testify/assert
Untuk menggunakan assert, anda perlu mengimportnya dahulu dalam fail ujian unit anda:
import "github.com/stretchr/testify/assert"
Kini anda boleh menulis kes ujian anda seperti ini:
func TestAdd(t *testing.T) { // 断言 a+b 等于 c assert.Equal(t, 3, Add(1, 2)) }
Untuk menjalankan unit Untuk menguji, gunakan perintah go test
pada baris arahan: go test
命令:
go test
考虑以下用于计算两个数字之和的简单函数:
func Add(a, b int) int { return a + b }
为了测试此函数,我们可以使用以下测试用例:
func TestAdd(t *testing.T) { testCases := []struct { a, b, expected int }{ {1, 2, 3}, {5, 10, 15}, {-1, -2, -3}, } for _, tc := range testCases { actual := Add(tc.a, tc.b) assert.Equal(t, tc.expected, actual) } }
在测试用例中,我们将多个测试集合到 testCases
片段中。每个测试用例指定了输入值 a
和 b
,以及预期的结果 expected
。
循环遍历每个测试用例,调用 Add
rrreee
testCases
. Setiap kes ujian menentukan nilai input a
dan b
, dan hasil yang dijangkakan expected
. 🎜🎜Gelung setiap kes ujian, panggil fungsi Tambah
dan gunakan assert untuk menegaskan bahawa hasilnya sepadan dengan nilai yang dijangkakan. Jika mana-mana penegasan gagal, ujian akan gagal. 🎜Atas ialah kandungan terperinci Bagaimana untuk menguji fungsi Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!