gpt4 book ai didi

json - 在 Golang 中对 http json 响应进行单元测试

转载 作者:IT王子 更新时间:2023-10-29 01:27:35 34 4
gpt4 key购买 nike

我正在使用 gin 作为我的 http 服务器,并在 json 中发回一个空数组作为我的响应:

c.JSON(http.StatusOK, []string{})

我得到的结果json字符串是"[]\n"。换行符由 json 编码器对象添加,参见 here .

使用 goconvey,我可以像这样测试我的 json

So(response.Body.String(), ShouldEqual, "[]\n")

但是除了向所有字符串添加换行符之外,是否有更好的方法来生成预期的 json 字符串?

最佳答案

您应该首先将响应主体解码为一个结构,然后与生成的对象进行比较。示例:

result := []string{}
if err := json.NewDecoder(response.Body).Decode(&result); err != nil {
log.Fatalln(err)
}
So(len(result), ShouldEqual, 0)

关于json - 在 Golang 中对 http json 响应进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33659298/

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