Rumah > Artikel > pembangunan bahagian belakang > Tutorial amali pengujian unit fungsi golang
Kaedah ujian unit bahasa Go: import pakej ujian dan pakej yang sedang diuji. Tentukan fungsi ujian bermula dengan "Ujian". Tentukan kes ujian, termasuk parameter dan keputusan yang dijangkakan. Ulangi kes ujian, panggil fungsi dan bandingkan keputusan sebenar dengan keputusan yang dijangkakan. Sekiranya terdapat perbezaan, ujian pencetus gagal.
Tutorial praktikal tentang ujian unit fungsi Go
Ujian unit adalah bahagian yang amat diperlukan dalam pembangunan perisian, ia boleh membantu kami memastikan ketepatan kod dan mengurangkan kecacatan. Dalam Go, anda boleh menulis ujian unit menggunakan pakej testing
terbina dalam. testing
包编写单元测试。
代码示例
假设我们有一个 greetPackage
包,其中包含一个名为 Greet
的函数,该函数接受一个名字参数并返回一条问候语。
package greetPackage import "fmt" func Greet(name string) string { return fmt.Sprintf("Hello, %s!", name) }
我们可以使用 testing
包编写一个单元测试来测试 Greet
函数的功能。
package greetPackage_test import ( "testing" "github.com/example/myproject/greetPackage" ) func TestGreet(t *testing.T) { tests := []struct { name string expected string }{ {"Alice", "Hello, Alice!"}, {"Bob", "Hello, Bob!"}, } for _, test := range tests { actual := greetPackage.Greet(test.name) if actual != test.expected { t.Errorf("Greet(%s) = %s; expected %s", test.name, actual, test.expected) } } }
运作原理
testing
包和正在测试的包 (greetPackage
)。*testing.T
参数。tests
变量定义一个测试用例切片,其中每个用例包含要测试的参数 (name
) 和预期的结果 (expected
)。for
循环依次遍历测试用例,并调用 greetPackage.Greet
函数。greetPackage.Greet
函数的实际结果 (actual
) 与预期结果 (expected
) 进行比较,如果不同,则引发一个 t.Error
Andaikan kita mempunyai pakej greetPackage
yang mengandungi fungsi yang dipanggil Greet
yang menerima parameter bernama dan mengembalikan salam.
go test -v github.com/example/myproject/greetPackage
Kita boleh menggunakan pakej testing
untuk menulis ujian unit untuk menguji kefungsian fungsi Greet
.
PASS ok github.com/example/myproject/greetPackage 0.004sCara ia berfungsi🎜🎜
testing
dan pakej yang sedang diuji (greetPackage
). 🎜*testing.T
. 🎜ujian
untuk mentakrifkan kepingan kes ujian, di mana setiap kes mengandungi parameter yang akan diuji (for
untuk mengulangi kes ujian mengikut turutan dan memanggil fungsi greetPackage.Greet
. 🎜greetPackage.Greet
dengan hasil yang dijangkakan (Atas ialah kandungan terperinci Tutorial amali pengujian unit fungsi golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!