Rumah >pembangunan bahagian belakang >Golang >Pergi: Nilai pulangan olok-olok fungsi dalam ujian unit
Dalam pembangunan perisian, ujian unit ialah tugas yang sangat penting, yang boleh membantu pembangun memastikan kualiti dan kebolehpercayaan kod. Dalam bahasa Go, kita boleh menggunakan beberapa perpustakaan dan teknologi untuk mensimulasikan nilai pulangan fungsi untuk ujian unit yang lebih baik. Dalam artikel ini, editor PHP Xiaoxin akan memperkenalkan kepada anda kaedah melaksanakan nilai pulangan simulasi fungsi dalam bahasa Go untuk membantu pembangun menjalankan ujian unit dengan lebih baik dan meningkatkan kualiti serta kebolehselenggaraan kod.
Saya mencipta skrip kecil dalam golang (projek golang pertama saya).
Contoh:
package main import ( "fmt" "math/rand" ) func main() { i := rand.Intn(10) foo := foo(i) if foo { fmt.Printf("%d is even!", i) // more code ... } else { fmt.Printf("%d is odd!", i) // more code ... } } func foo(i int) bool { if i%2 == 0 { return true } else { return false } }
Saya ingin membuat ujian unit kecil untuk setiap fungsi. Untuk "main()" saya ingin mengejek nilai pulangan fungsi "foo()" kerana saya tidak akan menguji "foo()" tetapi kod main() yang lain.
Saya sedang mencari cara mudah untuk stub/mengejek nilai pulangan. Saya baru sahaja menemui ejekan dengan struktur atau antara muka dsb. Tetapi saya tidak menggunakan elemen ini dalam kod (ia adalah projek mudah).
Gunakan contoh yang realistik, minimum, boleh dihasilkan semula: Cara mencipta contoh minimum yang boleh dibuat semula.
Sebagai contoh, dalam perjalanan,
package main import ( "fmt" "math/rand" ) func iseven(i int) bool { return i%2 == 0 } func side(n int) string { if iseven(n) { return "right" } else { return "left" } } func main() { n := 1 + rand.intn(10) hand := side(n) fmt.printf("number %d is on the %s-hand side of the street.\n", n, hand) }
https://www.php.cn/link/7c63a554c36ea63c77723a472b7ca20f
number 9 is on the left-hand side of the street.
Gunakan pakej ujian go untuk side
函数进行单元测试。您还可以直接对 iseven
函数进行单元测试。 main
fungsi tidak boleh mengandungi sebarang kod untuk diuji unit.
package main import ( "testing" ) func TestSide(t *testing.T) { n := 7 got := side(n) want := "left" if got != want { t.Errorf("side(%d) = %s; want %s", n, got, want) } }
Atas ialah kandungan terperinci Pergi: Nilai pulangan olok-olok fungsi dalam ujian unit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!