2020-05-01 09:43:36 +08:00

46 lines
762 B
Go

package main
import (
"fmt"
"io/ioutil"
"net/http"
"net/http/httptest"
"net/url"
"testing"
)
// PostHandler receive a list params and output.
func PostHandler(w http.ResponseWriter, r *http.Request) {
r.ParseForm()
list, ok := r.Form["list"]
if !ok {
fmt.Println("get param failed.")
return
}
for _, item := range list {
fmt.Println(item)
}
w.Write([]byte("ok"))
}
func TestPostArray(t *testing.T) {
ts := httptest.NewServer(http.HandlerFunc(PostHandler))
defer ts.Close()
res, err := http.PostForm(ts.URL, url.Values{
"list": {"foo", "bar"},
})
if err != nil {
fmt.Print(err)
return
}
defer res.Body.Close()
bytes, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Print(err)
return
}
fmt.Println(string(bytes))
}