如何将 POST 请求 multipart/form-data 字段作为数组发送以进行单元测试?

我正在尝试为我的 Go 应用程序进行单元测试,该应用程序使用 gin(PostForm 和 PostFormArray)处理多部分/表单数据内容类型的表单数据,例如


x, y := c.PostForm("x"), c.PostFormArray("y")


我可以使用 Go 提供的 mime/multipart 库来制作具有非数组值(PostForm)的表单字段,如下所示


buf := new(bytes.Buffer)

w := multipart.NewWriter(buf)


x, _ := w.CreateFormField("x")

x.Write([]byte("This is x value"))


w.Close()

哪个 PostForm 处理得很好,现在我想知道是否有任何方法可以发送一个带有数组作为其值的 multipart/form-data 字段,就像[]string{"this is y 1", "this is y 2"}它与 gin 的 PostFormArray 一起使用一样。有可能吗?我该怎么做?任何帮助将不胜感激。提前致谢!


慕尼黑的夜晚无繁华
浏览 418回答 1
1回答

一只名叫tom的猫

您可以创建多个具有相同名称的字段,例如buf := new(bytes.Buffer)w := multipart.NewWriter(buf)x, _ := w.CreateFormField("x")x.Write([]byte("This is x value"))y1, _ := w.CreateFormField("y")y1.Write([]byte("this is y 1"))y2, _ := w.CreateFormField("y")y2.Write([]byte("this is y 2"))w.Close()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go