Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk melaksanakan proses pembangunan dipacu ujian fungsi golang?
Proses TDD membantu memastikan ketepatan dan dokumentasi tingkah laku fungsi Go. Langkah: 1) Tulis ujian menggunakan arahan go test, tentukan fungsi dan kes ujian. 2) Tulis kod fungsi yang memenuhi kelakuan kes ujian. 3) Jalankan arahan go test untuk mengesahkan sama ada fungsi memenuhi jangkaan. 4) Ulang langkah 1-3 seperti yang diperlukan untuk melengkapkan pelaksanaan fungsi dan menambah baik kes ujian sehingga semua ujian lulus.
Proses TDD (Test Driven Development) untuk Fungsi Golang
Test Driven Development (TDD) ialah proses pembangunan perisian di mana pembangun mula-mula menulis ujian dan kemudian menulis kod yang diperlukan untuk memenuhi ujian tersebut. Untuk fungsi bahasa Go, proses TDD boleh membantu memastikan ketepatan fungsi dan menyediakan dokumentasi untuk kelakuannya.
Langkah
go test
untuk mencipta fail ujian dan tentukan fungsi yang akan diuji dan kes ujian yang sepadan. go test
命令创建一个测试文件,定义要测试的函数以及相应的测试用例。package main import ( "testing" ) func TestAdd(t *testing.T) { tests := []struct { a, b int want int }{ {1, 2, 3}, {3, 4, 7}, } for _, tc := range tests { got := Add(tc.a, tc.b) if got != tc.want { t.Errorf("Add(%d, %d) = %d, want %d", tc.a, tc.b, got, tc.want) } } }
package main import "fmt" func Add(a, b int) int { return a + b } func main() { fmt.Println(Add(1, 2)) // 输出:3 }
go test
命令验证函数是否符合预期。$ go test ok test.go 0.000s
实战案例
假设你想要实现一个 Golang 函数 isPrime
package main import ( "testing" ) func TestIsPrime(t *testing.T) { tests := []struct { n int prime bool }{ {1, false}, {2, true}, {3, true}, {4, false}, {19, true}, {100, false}, } for _, tc := range tests { got := IsPrime(tc.n) if got != tc.prime { t.Errorf("IsPrime(%d) = %t, want %t", tc.n, got, tc.prime) } } }
Tulis fungsi yang melaksanakan tingkah laku yang dinyatakan dalam kes ujian.
package main import "math" func IsPrime(n int) bool { if n <= 1 { return false } for i := 2; i <= int(math.Sqrt(float64(n))); i++ { if n%i == 0 { return false } } return true } func main() { fmt.Println(IsPrime(19)) // 输出:true }
go test
untuk mengesahkan bahawa fungsi itu seperti yang diharapkan. $ go test
ok test.go 0.000s
Kes praktikal
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan proses pembangunan dipacu ujian fungsi golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!