Maison > développement back-end > Golang > Comment tester les appels HTTP en Go à l'aide de httptest ?

Comment tester les appels HTTP en Go à l'aide de httptest ?

Linda Hamilton
Libérer: 2024-10-23 17:42:02
original
916 Les gens l'ont consulté

How to Test HTTP Calls in Go Using httptest?

Test des appels HTTP dans Go

Dans le développement de logiciels, les tests sont cruciaux pour garantir la fiabilité de votre code. Lorsqu'il s'agit d'appels HTTP, des tests appropriés sont particulièrement importants. Dans Go, le package httptest fournit un moyen pratique d'effectuer de tels tests.

Pour tester la fonction HTTPPost, créons un serveur HTTP fictif à l'aide de httptest.NewServer. Ce serveur peut être configuré pour renvoyer une réponse prédéfinie.

L'exemple de code suivant montre comment écrire un test à l'aide du serveur fictif :

<code class="go">import (
    "net/http"
    "net/http/httptest"
    "testing"

    "yourpackage"
)

func TestYourHTTPPost(t *testing.T) {
    ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintln(w, `response from the mock server goes here`)
        // you can also inspect the contents of r (the request) to assert over it
    }))
    defer ts.Close()

    mockServerURL := ts.URL

    message := "the message you want to test"

    resp, err := yourpackage.HTTPPost(message, mockServerURL)

    // assert over resp and err here
}</code>
Copier après la connexion

Dans ce test, nous créons un serveur fictif qui renvoie une réponse spécifique. Nous effectuons ensuite un appel HTTP au serveur fictif à l'aide de la fonction HTTPPost et affirmons la réponse et les erreurs rencontrées.

En utilisant httptest, vous pouvez tester efficacement le comportement de vos appels HTTP et vous assurer qu'ils fonctionnent comme prévu. .

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!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal