亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【九月打卡】第7天 go語言測試與性能調優

標簽:
Go

课程名称GO开发工程师

课程章节:4-1:测试;4-2:代码覆盖率和性能测试;4-3:使用pprof进行性能调优;4-4/5:测试http服务器;4-6生成文档和示例代码;4-7:测试总结

课程讲师ccmouse

课程内容
传统测试

  • 测试数据和测试逻辑混在一起
  • 出错信息不明确
  • 一旦一个 数据出错,测试全部结束

表格驱动测试

  • 分离的测试数据和测试逻辑
  • 明确的出错信息
  • 可以部分失败
  • go语言的语法使得我们更易实践表格驱动测试

命令行进行测试:

  • 进入待测试的文件所在的目录
  • go test .

覆盖率
(被执行代码行数/总的代码行数)命令行:

  • go test --coverprofile=c.out
  • go tool cover 查看代码覆盖率工具使用说明
  • go tool cover -html=“c.out” // 在html页面查看(注意windows下c.out要加引号)

性能测试

  • go test -bench .
  • b.N benchmark 会自动推送需要测试的数量(b *testing.B)
  • CPU
    go test -bench . -cpuprofile cpu.out
    go tool pprof .\cpu.out(交互式)
    — help(帮助文档)
    — web(可以看出性能消耗在哪些地方,针对性的进行优化)

http 测试

  • 模拟http request response -> 单元测试
    httptest.NewRecorder()
    httptest.NewRequest
  • http server -> 功能更全面
    httptest.NewServer()

课程收获

  1. go语言不同于其它语言的测试方式-> 表格驱动;
  2. 覆盖率、性能测试借助go tool,方便、快捷查看分析结果;针对性能瓶颈持续优化。
  3. 模拟http 请求,响应可以模拟单元测试场景,速度快;模拟启动http server能够对整个服务进行一个测试,更加全面,但启动速度较慢。

图片描述
图片描述

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消