Cara membuat pelayan HTTP yang belum dimulakan menggunakan fungsi net/http/httptest.NewUnstartedServer dalam golang
Ikhtisar: #🎜🎜 Di Golang, kami boleh menggunakan pakej net/http untuk membina dan mengendalikan pelayan HTTP. Semasa melakukan ujian unit, kadangkala anda perlu mencipta pelayan HTTP yang belum dimulakan untuk mensimulasikan tingkah laku pelayan dalam ujian. Dalam kes ini, anda boleh menggunakan fungsi NewUnstartedServer dalam pakej net/http/httptest untuk mencipta pelayan HTTP yang belum dimulakan.
package main import ( "fmt" "net/http" "net/http/httptest" "testing" ) func main() { // 创建一个未启动的HTTP服务器 server := httptest.NewUnstartedServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "Hello, World!") })) // 启动HTTP服务器 server.Start() // 发送HTTP请求到服务器 resp, err := http.Get(server.URL) if err != nil { fmt.Println("发送请求失败", err) return } defer resp.Body.Close() // 输出响应内容 body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println("读取响应失败", err) return } fmt.Println("响应:", string(body)) // 停止HTTP服务器 server.Close() }
Di Golang, menggunakan fungsi net/http/httptest.NewUnstartedServer boleh mencipta pelayan HTTP yang belum dimulakan dengan mudah untuk mensimulasikan tingkah laku pelayan dalam ujian. Pelayan yang dicipta oleh fungsi ini boleh dimulakan melalui kaedah pelayan.Start(), dan menggunakan fungsi seperti http.Get untuk mensimulasikan permintaan menghantar pelanggan. Selepas digunakan, anda boleh memanggil kaedah pelayan.Close() untuk menutup pelayan. Kaedah ini membolehkan kami menguji unit pelayan HTTP dengan mudah.
Atas ialah kandungan terperinci Cara membuat pelayan HTTP yang belum dimulakan menggunakan fungsi net/http/httptest.NewUnstartedServer dalam golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!