Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menguji Panggilan HTTP dalam Go Menggunakan httptest?

Bagaimana untuk Menguji Panggilan HTTP dalam Go Menggunakan httptest?

Linda Hamilton
Lepaskan: 2024-10-23 17:42:02
asal
915 orang telah melayarinya

How to Test HTTP Calls in Go Using httptest?

Menguji Panggilan HTTP dalam Go

Dalam pembangunan perisian, ujian adalah penting untuk memastikan kebolehpercayaan kod anda. Apabila berurusan dengan panggilan HTTP, ujian yang betul amat penting. Dalam Go, pakej httptest menyediakan cara yang mudah untuk melakukan ujian sedemikian.

Untuk menguji fungsi HTTPPost, mari buat pelayan HTTP palsu menggunakan httptest.NewServer. Pelayan ini boleh dikonfigurasikan untuk mengembalikan respons yang dipratentukan.

Kod sampel berikut menunjukkan cara menulis ujian menggunakan pelayan olok-olok:

<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>
Salin selepas log masuk

Dalam ujian ini, kami mencipta pelayan olok-olok yang mengembalikan respons tertentu. Kami kemudian membuat panggilan HTTP ke pelayan olok-olok menggunakan fungsi HTTPPost dan menegaskan respons dan sebarang ralat yang dihadapi.

Dengan menggunakan httptest, anda boleh menguji kelakuan panggilan HTTP anda dengan berkesan dan memastikan ia beroperasi seperti yang diharapkan .

Atas ialah kandungan terperinci Bagaimana untuk Menguji Panggilan HTTP dalam Go Menggunakan httptest?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan