- Kod perniagaan
package main import "fmt" func sum(a int,b int) int { return a+b } func main() { fmt.Println("hello test") }
- kes ujian ujian
package main import ( "fmt" "testing" ) func TestSum(t *testing.T) { var a = 3 var b =4 res :=sum(a,b) fmt.Printf("%d 与%d之和:为%d",a,b,res) if res != 7{ t.Error("error") } }
Setiap fail ujian mesti mengimport ujian.
Setiap kes ujian di bawah fail ujian mesti bermula dengan Ujian Dan mematuhi format TestXxx, jika tidak go test akan terus memilih ujian dan tidak melaksanakannya
go test akan mencari fail ujian secara automatik dalam direktori ini, dan go test -v akan. paparkan pelaksanaan secara terperinci Parameter input proses
kes ujian ialah t ujian.T atau b ujian.B
-
t.Ralat ialah Mencetak mesej ralat, dan kes ujian semasa akan dilangkau
t.SkipNow() adalah untuk melangkau ujian dan terus tekan LULUS untuk memproses yang seterusnya ujian, dan mesti ditulis dalam kes ujian Baris pertama, jika tidak, ia tidak sah
ujian go tidak menjamin bahawa berbilang TestXxx dilaksanakan secara berurutan, tetapi ia biasanya dilaksanakan mengikut tertib. Untuk memastikan pelaksanaan berurutan, t.Run boleh digunakan (rentetan nama, fungsi f) untuk memastikan pelaksanaan berurutan
TestMain(m *testing.M) sebagai ujian permulaan, dan gunakan m.Run() untuk memanggil ujian lain untuk menyelesaikan beberapa keperluan Ujian operasi awal, seperti sambungan pangkalan data, pembukaan fail, log masuk perkhidmatan REST, jika m.Run() tidak dipanggil dalam testMain, kes ujian lain kecuali TestMain tidak akan dilaksanakan.