Menguji Panggilan HTTP dalam Go Menggunakan Httptest
Pakej httptest menyediakan kefungsian untuk menguji klien dan pelayan HTTP. Untuk menggunakan pakej ini untuk menguji kod Go anda, pertimbangkan strategi berikut:
Pengujian Respons:
Buat contoh perakam baharu melalui httptest.NewRecorder(). Gunakan perakam ini untuk menilai kod status respons dan kandungan kandungan.
Contoh:
resp := httptest.NewRecorder() req, _ := http.NewRequest("GET", "/", nil) http.DefaultServeMux.ServeHTTP(resp, req) if resp.Code != http.StatusOK { t.Errorf("Expected status code 200, got %d", resp.Code) }
Ujian Pelayan:
Tubuhkan pelayan baharu menggunakan httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {}). Pelayan ini mensimulasikan pelayan HTTP, membolehkan anda menguji interaksi klien HTTP anda.
Contoh:
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, `{"fake twitter json string"}`) })) defer ts.Close() twitterUrl = ts.URL c := make(chan *twitterResult) go retrieveTweets(c) tweet := <-c if tweet != expected1 { t.Fail() }
Atas ialah kandungan terperinci Bagaimanakah Pakej `httptest` Go Boleh Memudahkan Pengujian Pelanggan dan Pelayan HTTP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!