如何使用Resty创建自动化API测试后请求

如何使用Resty创建自动化API测试后请求,api,go,automated-tests,Api,Go,Automated Tests,我已经成功地使用Resty在Go中设置了API自动化测试,并执行了GET请求 然而,我正在努力让API测试后返回一个200,而不是收到一个400错误消息。我不确定我做错了什么 请看下面我的代码。(顺便说一句,POST请求在Postman中起作用!) 您需要添加一个内容类型。这应该起作用: func测试(t*testing.t){ 客户端:=resty.New() resp,\:=client.R()。 挫折体(`{ “文本”:“您好,我正在学习如何使用Postman测试API!” }`). Se

我已经成功地使用Resty在Go中设置了API自动化测试,并执行了GET请求

然而,我正在努力让API测试后返回一个200,而不是收到一个400错误消息。我不确定我做错了什么

请看下面我的代码。(顺便说一句,POST请求在Postman中起作用!)


您需要添加一个内容类型。这应该起作用:

func测试(t*testing.t){
客户端:=resty.New()
resp,\:=client.R()。
挫折体(`{
“文本”:“您好,我正在学习如何使用Postman测试API!”
}`).
SetHeader(“内容类型”、“应用程序/json”)。
职位(”https://api.funtranslations.com/translate/yoda")
assert.Equal(t,200,resp.StatusCode())
}
如果向客户端传递json可序列化数据类型而不是字符串,它将知道您打算发送json,并正确设置标头:

resp,\:=client.R()。
SetBody(映射[字符串]字符串{
“文本”:“您好,我正在学习如何使用Postman测试API!”,
}).
职位(”https://api.funtranslations.com/translate/yoda")

您需要添加内容类型。这应该起作用:

func测试(t*testing.t){
客户端:=resty.New()
resp,\:=client.R()。
挫折体(`{
“文本”:“您好,我正在学习如何使用Postman测试API!”
}`).
SetHeader(“内容类型”、“应用程序/json”)。
职位(”https://api.funtranslations.com/translate/yoda")
assert.Equal(t,200,resp.StatusCode())
}
如果向客户端传递json可序列化数据类型而不是字符串,它将知道您打算发送json,并正确设置标头:

resp,\:=client.R()。
SetBody(映射[字符串]字符串{
“文本”:“您好,我正在学习如何使用Postman测试API!”,
}).
职位(”https://api.funtranslations.com/translate/yoda")

非常感谢它现在起作用了感谢快速响应非常感谢它现在起作用了感谢快速响应
func Test_Post(t *testing.T){
    client := resty.New()
    resp, _ := client.R().
    SetBody(`{
            "text": "Hello, I am learning how to test APIs with Postman!"  
    }`).
    Post("https://api.funtranslations.com/translate/yoda")

    assert.Equal(t, 200, resp.StatusCode())
}