当前位置: 首页 > news >正文

管局审核网站名称陕西企业名录大全

管局审核网站名称,陕西企业名录大全,传奇网络游戏,网站建设里面链接打不开《用Gin框架构建分布式应用》学习第15天,p272-p306总结,总35页。 一、技术总结 1.TDD(test-driven development) 虽然经常看到TDD这个属于,从本人的工作经历看,实际开发中用得相对较少。 2.unitest(单元测试) go语言开发中&a…

《用Gin框架构建分布式应用》学习第15天,p272-p306总结,总35页。

一、技术总结

1.TDD(test-driven development)

虽然经常看到TDD这个属于,从本人的工作经历看,实际开发中用得相对较少。

2.unitest(单元测试)

go语言开发中,使用testify进行单元测试开发。

(1)创建测试文件

测试文件以xxx_test.go命名,与xxx.go在同一目录下。示例:main.go和mian_test.go在同一目录下。

(2)编写测试函数

测试函数必须Test作为前缀,后面跟被测试函数名,示例:被测试函数名称为IndexHandler,测试函数名称为TestIndexHandler。

main.go:

// main.go
package mainimport ("github.com/gin-gonic/gin""net/http"
)func IndexHandler(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"message": "hello world"})
}func SetupServer() *gin.Engine {router := gin.Default()router.GET("/", IndexHandler)return router
}
func main() {err := SetupServer().Run()if err != nil {return}
}

main_test.go:

package mainimport ("github.com/stretchr/testify/assert""io""net/http""net/http/httptest""testing"
)func TestIndexHandler(t *testing.T) {// 不适用 testify// 注意,因为`{"message":"hello world"}`是字符串,所以冒号后面如果有空格,在判断相等的时候也会有影响// mockUserResp := `{"message":"hello world"}`//// ts := httptest.NewServer(SetupServer())// defer ts.Close()//// res, err := http.Get(ts.URL + "/")// if err != nil {// 	t.Fatalf("Expected no error: got %v", err)// }//// defer res.Body.Close()//// if res.StatusCode != http.StatusOK {// 	t.Fatalf("Expected status code 200: got %v", res.StatusCode)// }//// // ioutil.ReadAll 已不推荐使用// // responseData, err := ioutil.ReadAll(res.Body)// responseData, err := io.ReadAll(res.Body)// if string(responseData) != mockUserResp {// 	t.Fatalf("Expected hello world message: got %v", string(responseData))// }// 使用 testifymockUserResp := `{"message": "hello world"}`ts := httptest.NewServer(SetupServer())defer ts.Close()res, err := http.Get(ts.URL + "/")defer res.Body.Close()assert.Nil(t, err)assert.Equal(t, http.StatusOK, res.StatusCode)responseData, err := io.ReadAll(res.Body)assert.Equal(t, mockUserResp, string(responseData))
}

(3)执行测试

go test

3.coverage(测试覆盖率)

p282, Test coverage describes how much of a package’s code is exercised by running the package’s tests.

4.integration test(集成测试)

integration test就是多个功能一起测试。

5.security test(安全测试)

go语言开发中,使用gosec进行安全测试。

6.postman

书上介绍了postman的collection, environment, scripts的使用,基本属于工作中常用到的操作。当然,postman本身也不复杂。

go语言开发中,使用

7.吐槽系列

// chapter 01router := gin.Default()// chapter 07r := gin.Default()

作者在chapter 01用的名称是router, 那么在chapter 07也应该用这个,而不是r,保持字段名称的一致性!想起本人在实际工作中遇到的一个项目,其中表示“设备”的名称就用了三个:eqp, equip, equipment,但其实都是指同一个东西,这无形中会导致一些问题:(1)阅读代码的人会有疑问,这三个表示的是同一个东西吗?(2)写代码的时候得思考,用的是哪个名称。

二、英语总结

无。

三、其它

今天没有什么想说的。

四、参考资料

1. 编程

(1) Mohamed Labouardy,《Building Distributed Applications in Gin》:https://book.douban.com/subject/35610349

2. 英语

(1) Etymology Dictionary:https://www.etymonline.com

(2) Cambridge Dictionary:https://dictionary.cambridge.org

在这里插入图片描述

欢迎搜索及关注:编程人(a_codists)

http://www.yayakq.cn/news/447177/

相关文章:

  • 副食店年报在哪个网站做网站建设编辑工作总结
  • 网站开发前后端如何开心设计一个网站
  • ui设计与网站建设泰安网络公司协会
  • 企业手机网站建设报价泰安网站建设步骤
  • 电商网站建设分析绍兴做团购的网站
  • 建投五公司网站中铁中基建设集团网站
  • 湘潭网站建设定制磐石网络北京电力建设公司贴吧
  • 跨平台网站制作大学网站建设
  • 做视频的软件模板下载网站广州网站备案要求
  • 简要说明网站制作的基本步骤昭通学院教务管理系统
  • 太仓建设网站简单旅游网站开发
  • 鹤岗市建设局网站营销培训课程ppt
  • 手机网站设计框架搜索引擎优化的简称是
  • 网站违法和做网站得有关系网站备案证书怎么下载不了
  • 门户网站建设服务wordpress弹出框
  • 公司被其它人拿来做网站网站引流.
  • 外贸推广网站有哪些wordpress 调用当前分类文章
  • 九度互联网站制作效果广州网站推广工具
  • 网站注册备案查询济南快速排名
  • 如何用模板做网站win10建设本地网站
  • 平安网站建设公司深圳英文建站公司
  • 钱宝网站怎么做任务移动端网站的优点
  • 阿里云 网站备案传统pc网站
  • 扬州建设公司网站做网站能成功吗
  • 大连开发区做网站记事本做网站素材代码
  • 2012系统 做网站简单的做海报的网站
  • 丽江做网站网站开发后端用什么
  • 网站部署到服务器网络营销大师排行榜
  • 网站开发邮件服务器跨境支付互联互通
  • 做网站有哪些费用平邑网站开发