golang中的HTTP服务器与客户端请求

时间:2015-10-20 22:44:18

标签: http go

documentation表示服务器和客户端http请求之间存在差异,例如,在正文为空的情况下。如何创建服务器请求以模拟传入的http请求以进行测试?

编辑:我特别想在单元测试期间创建http服务器请求。

2 个答案:

答案 0 :(得分:2)

对不起延迟回答。昨晚有点跟踪。这是一个使用非零主体创建请求对象的快速示例。有一点需要注意的是,我并不认为我很烦,HTTP GET没有机构,因此您可能总是为该HTTP方法获得零值。对此并不积极,但如果是这样的话我也不会感到惊讶。

package main

import "fmt"
import "net/http"
import "strings"

func main() {
        reader := strings.NewReader("")
        req, _ := http.NewRequest("POST", "http://example.com", reader)
    fmt.Printf("Body != nil ? %v, value: %s END\n", req.Body != nil, req.Body)
}

https://play.golang.org/p/5Fb6b2qgSo

答案 1 :(得分:1)

我不知道你是否还在寻找答案,但Go实际上有一个用于测试HTTP服务器的软件包。

https://golang.org/pkg/net/http/httptest/

非常适合测试。您可以通过此处创建请求和服务器进行测试。