Test des appels HTTP dans Go à l'aide de Httptest
Le package httptest fournit des fonctionnalités pour tester les clients et les serveurs HTTP. Pour utiliser ce package pour tester votre code Go, envisagez les stratégies suivantes :
Test de réponse :
Créez une nouvelle instance d'enregistreur via httptest.NewRecorder(). Utilisez cet enregistreur pour évaluer le code d'état de la réponse et le contenu du corps.
Exemple :
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) }
Test du serveur :
Établissez un nouveau serveur en utilisant httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {}). Ce serveur simule un serveur HTTP, vous permettant de tester vos interactions client HTTP.
Exemple :
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() }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!