前言
前几话主要讲解关于使用golang进行单元测试,在单元测试的上一层就是接口测试,本节主要讲使用golang进行接口测试,其中主要以http协议的接口测试来讲解
golang中的http请求
golang中拥有一个原生的http依赖库:net/http,http服务器的建立还是http客户端的开发,都会使用到这个依赖库,这里主要讲解时client部分,作为请求发起方应用于日常的接口测试,例示代码如下:
get请求
package main import ( "fmt" "io/ioutil" "net/http" ) func main() { //模拟一个get提交请求 resp, err := http.Get("http://127.0.0.1:12345/checkon") if err != nil { panic(err) } defer resp.Body.Close() //关闭连接 body, err := ioutil.ReadAll(resp.Body) //读取body的内容 fmt.Println(string(body)) }
结果
E:\go_project>go run testget.go { "code": 200, "data": "", "msg": "online", "state": "success" }
post请求:
package main import ( "fmt" "io/ioutil" "log" "net/http" "strings" ) func main(){ url:="http://www.shop.com:8088/Api/Weixinapi/getCommentsTypes/" resp,err:= http.Post(url,"application/x-www-form-urlencoded",strings.NewReader("goodsId=123")) //如果多个参数后面紧跟 if err != nil { log.Println("is error") log.Println(err) return } defer resp.Body.Close() data,_:= ioutil.ReadAll(resp.Body) fmt.Println(string(data)) }
结果:
{"respMsg":"\u6210\u529f","resultCode":"0000","data":{"typesList":[{"evaluateId":0,"evaluateanem":"\u5168\u90e8"},{"evaluateId":1,"evaluateanem":"\u6709\u56fe\u8bc4\u4e f7 (0)"},{"evaluateId":2,"evaluateanem":"\u597d\u8bc4 (0)"},{"evaluateId":3,"evaluateanem":"\u4e2d\u8bc4 (0)"},{"evaluateId":4,"evaluateanem":"\u5dee\u8bc4 (0)"}]}}
带json的post请求
我们大部分应用到的restful接口都是用json格式的请求体,对应的golang的http请求也会有相关的方式post json请求体
标签:http,请求,err,resp,入门教程,接口,golang,测试 From: https://www.cnblogs.com/zh718594493/p/16903578.html