Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menggunakan kaedah ujian dipacu jadual dalam ujian unit Golang?
Ujian dipacu jadual memudahkan penulisan kes ujian dalam ujian unit Go dengan mentakrifkan input dan output yang dijangkakan dengan jadual. Sintaks termasuk: 1. Tentukan kepingan yang mengandungi struktur kes ujian 2. Gelung melalui kepingan dan bandingkan keputusan dengan output yang dijangkakan. Dalam kes sebenar, ujian dipacu jadual telah dilakukan pada fungsi menukar rentetan kepada huruf besar, dan ujian go digunakan untuk menjalankan ujian dan mencetak keputusan lulus.
Pengujian dipacu jadual ialah kaedah ujian yang menggunakan jadual untuk mentakrifkan berbilang input dan output yang dijangkakan. Ini memudahkan dan mempercepatkan proses menulis kes ujian kerana kita hanya perlu mentakrifkan jadual itu sendiri dan bukannya menulis fungsi berasingan untuk setiap kes ujian.
Sintaks ujian dipacu jadual adalah seperti berikut:
import "testing" func TestTableDriven(t *testing.T) { tests := []struct { input string expected string }{ {"a", "A"}, {"b", "B"}, {"c", "C"}, } for _, test := range tests { result := UpperCase(test.input) if result != test.expected { t.Errorf("Expected %q, got %q", test.expected, result) } } }
tests
是一个结构体切片,它定义了要测试的输入和预期输出。range tests
循环遍历 tests
切片中的每个测试用例。result
是要测试的函数的输出。if result != test.expected
检查结果是否与预期输出匹配。以下是一个将字符串转换为大写的函数的表驱动的测试:
import ( "testing" "strings" ) func TestUpperCase(t *testing.T) { tests := []struct { input string expected string }{ {"a", "A"}, {"b", "B"}, {"c", "C"}, } for _, test := range tests { result := strings.ToUpper(test.input) if result != test.expected { t.Errorf("Expected %q, got %q", test.expected, result) } } }
要运行测试,请使用 go test
ujian
.
hasil
ialah output fungsi yang akan diuji. if result != test.expected
Menyemak sama ada keputusan sepadan dengan output yang dijangkakan.
go test -v🎜Untuk menjalankan ujian, gunakan
go test
:🎜 === RUN TestUpperCase --- PASS: TestUpperCase (0.00s) PASS ok github.com/user/pkg 0.005s🎜Ini akan mencetak output berikut:🎜rrreee
Atas ialah kandungan terperinci Bagaimana untuk menggunakan kaedah ujian dipacu jadual dalam ujian unit Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!