Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Menguji Panggilan HTTP dalam Go Menggunakan Httptest

Cara Menguji Panggilan HTTP dalam Go Menggunakan Httptest

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-23 18:10:02718semak imbas

How to Test HTTP Calls in Go Using Httptest

Menguji Panggilan HTTP dalam Go dengan Httptest

Apabila melaksanakan fungsi HTTPPost untuk menyiarkan mesej dalam format JSON ke URL yang ditentukan, menulis kes ujian adalah penting untuk memastikan ketepatan fungsi. Pakej httptest menyediakan cara yang berkuasa untuk mengejek pelayan HTTP, membenarkan pembangun menguji klien HTTP mereka tanpa berinteraksi dengan pelayan luaran.

Menggunakan Httptest untuk Mengejek Pelayan HTTP

Untuk menggunakan httptest, anda boleh mencipta pelayan olok-olok menggunakan fungsi httptest.NewServer. Pelayan olok-olok ini bertindak sebagai stand-in untuk pelayan sebenar, membolehkan anda mengawal respons yang diberikannya.

<code class="go">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 := HTTPPost(message, mockServerURL)

    // assert over resp and err here
}</code>

Dalam contoh ini, pelayan olok-olok dicipta dengan fungsi pengendali yang mengembalikan respons yang dipratentukan . Anda juga boleh memeriksa permintaan yang diterima oleh pelayan olok-olok untuk mengesahkan data yang dihantar oleh fungsi HTTPPost.

Menegaskan Respons dan Ralat

Sebaik sahaja anda mempunyai pelayan olok-olok anda di tempat, anda boleh meneruskan untuk menegaskan respons dan ralat yang dikembalikan oleh fungsi HTTPPost. Anda boleh menggunakan pelbagai kaedah yang disediakan oleh pakej ujian untuk mengesahkan gelagat yang dijangkakan.

Sebagai contoh, anda boleh menyemak sama ada kod respons yang dikembalikan adalah yang anda jangkakan atau bahawa ralat yang dikembalikan adalah sifar jika tiada ralat dijangka. Dengan menguji fungsi HTTPPost anda secara menyeluruh, anda boleh meningkatkan keyakinan anda terhadap ketepatan dan keteguhannya.

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

Kenyataan:
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