首頁 > 後端開發 > Golang > Go HTTP端點測試中如何設定Request.FormFile?

Go HTTP端點測試中如何設定Request.FormFile?

DDD
發布: 2024-11-03 10:00:29
原創
577 人瀏覽過

How to Set Request.FormFile in Go HTTP Endpoint Testing?

測試 Go http.Request.FormFile 執行

問題:測試端點時如何設定 Request.FormFile?

解決方案:

要測試需要 FormFile 的端點,您可以使用 mime/multipart 套件建立多部分錶單資料請求。這是一個示範:

<code class="go">import (
    "bytes"
    "io"
    "io/ioutil"
    "mime/multipart"

    "net/http"
    "net/http/httptest"
    "testing"
)

func testEndpoint(t *testing.T) {
    // Create a multipart form data writer
    body := &bytes.Buffer{}
    writer := multipart.NewWriter(body)

    // Create a form file part
    part, err := writer.CreateFormFile("y", "someimg.png")
    if err != nil {
        t.Fatalf("error creating FormFile: %v", err)
    }

    // Copy a test image into the form file part
    img, err := ioutil.ReadFile("testdata/someimg.png")
    if err != nil {
        t.Fatalf("error reading image: %v", err)
    }
    if _, err = io.Copy(part, bytes.NewReader(img)); err != nil {
        t.Fatalf("error copying image: %v", err)
    }

    // Close the form data writer
    err = writer.Close()
    if err != nil {
        t.Fatalf("error closing form data writer: %v", err)
    }

    // Create a new HTTP request
    request := httptest.NewRequest("POST", "/", body)
    request.Header.Add("Content-Type", writer.FormDataContentType())

    // Test the endpoint
    // ...
}</code>
登入後複製

此範例利用 mime/multipart 套件透過表單檔案建立多部分錶單資料請求。然後可以針對端點測試該請求。

其他資訊:

  • 管包也可以用於緩衝多部分錶單資料。
  • stringBody 可用於建立具有字串表單欄位的多部分請求。

以上是Go HTTP端點測試中如何設定Request.FormFile?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板