Sobes.tech
Junior — Middle

Heeft u ervaring met het ontwikkelen of uitvoeren van end-to-end tests om het volledige gebruikersscenario te verifiëren?

sobes.tech AI

Antwoord van AI

Ja, in Golang worden voor end-to-end tests vaak frameworks gebruikt die het mogelijk maken om volledige gebruikersscenario's uit te voeren, inclusief interactie met API's, databases en externe diensten. Bijvoorbeeld, je kunt een test schrijven die HTTP-verzoeken naar je applicatie stuurt en de antwoorden controleert, waarbij het gedrag van de gebruiker wordt gesimuleerd.

Voorbeeld van een eenvoudige end-to-end test met behulp van het standaardpakket net/http en testing:

package main

import (
    "net/http"
    "net/http/httptest"
    "testing"
)

func TestEndToEnd(t *testing.T) {
    // Maak een test HTTP-server met jouw handler
    handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        w.WriteHeader(http.StatusOK)
        w.Write([]byte("Hallo, gebruiker!"))
    })
    server := httptest.NewServer(handler)
    defer server.Close()

    // Voer een HTTP-verzoek uit dat de gebruiker simuleert
    resp, err := http.Get(server.URL)
    if err != nil {
        t.Fatalf("Fout bij het verzenden van het verzoek: %v", err)
    }
    defer resp.Body.Close()

    if resp.StatusCode != http.StatusOK {
        t.Errorf("Verwachte status 200 OK, kreeg %d", resp.StatusCode)
    }
}

In echte projecten kunnen meer geavanceerde tools worden gebruikt, zoals godog voor BDD of chromedp voor UI-testen in de browser.