前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >http server测试

http server测试

原创
作者头像
暮雨
修改2019-08-19 17:31:25
1.7K0
修改2019-08-19 17:31:25
举报
文章被收录于专栏:云端漫步云端漫步

在对http服务测试时,我们可以通过两种方式来完成,一种基于http服务,一种基于自带的测试包来完成。

示例代码

  • 针对测试handle函数进行测试
代码语言:txt
复制
func TestHelloHandleFunc(t *testing.T) {
	rw := httptest.NewRecorder()
	req := httptest.NewRequest(http.MethodPost, "/hello, nil)
	handleHello(rw, req)

	if rw.Code != http.StatusOK {
		t.Errorf("status code not ok, status code is %v", rw.Code)
	}

}
  • 模拟启动服务 执行指定测试函数命令go test -run=TestHTTPServer
代码语言:txt
复制
func TestHTTPServer(t *testing.T) {
	ts := httptest.NewServer(http.HandlerFunc(handleHello))
	defer ts.Close()

	log.Printf("server url: %s", ts.URL)

	testURL := ts.URL + "/hello
	resp, err := http.Get(testURL)
	if err != nil {
		t.Error(err)
		return
	}
	if g, w := resp.StatusCode, http.StatusOK; g != w {
		t.Errorf("status code = %q; want %q", g, w)
		return
	}
}
  • 测试覆盖统计
代码语言:txt
复制
go test cover
go test -coverprofile=coverage.out
go tool cover -html=coverage.out
  • 竞争检测
代码语言:txt
复制
go test -race

喜欢请关注“云端漫记", 持续为你更新

qrcode_for_gh_c30f7a9a484e_430.jpg
qrcode_for_gh_c30f7a9a484e_430.jpg

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 示例代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档