gpt4 book ai didi

go - 我如何将 json 字符串硬编码到 *http.Response 中以便在 Go 中进行测试

转载 作者:IT王子 更新时间:2023-10-29 02:03:59 24 4
gpt4 key购买 nike

我有一些代码可以向我想要测试的动态网站发出获取请求。显然,测试需要由任何人在任何时候运行,因此与其实际使用 REST API,不如将 json 字符串放入 *http.Response 以进行测试。

示例代码:

func get (c *http.Response, err error) (string, error) {
//code
}

测试文件:

func TestGet(t *testing.T) {
//code to have put json string for test *http.Response
get(???, nil)

}

最佳答案

您想使用 bytes.Buffer 将您拥有的数据转换为 io.Reader,并使用 NopCloser(来自 io/ioutil) 使其成为 io.ReadCloser

r := &http.Response{
Status: "200 OK",
StatusCode: 200,
// etc., lots more fields needed here.
Body: ioutil.NopCloser(bytes.NewBufferString(json))
}

如果您的 json 位于 []byte 中,则使用 NewBuffer 而不是 NewBufferString

关于go - 我如何将 json 字符串硬编码到 *http.Response 中以便在 Go 中进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39668514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com