Go 语言上手 - 工程实践 - 测试 | 青训营笔记

138 阅读1分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第3篇笔记

测试是避免事故的最后一道屏障

单元测试

image.png

单元测试的规则

  • 所有测试文件以_test.go结尾
  • 参数传* testing.T
  • 初始化逻辑放到TestMain中,参数testing.M

assert.Equal(t,期望值,输出值) github.com/stretchr/testify/assert

覆盖率:

尽可能包含更多的分支,覆盖尽可能多的代码情况的出现 assert.Equal(t,true,输出值)

文件处理:

测试时需要依赖本地的文件,如果文件被修改和被删除就会fail,我们读取文件函数mock,屏蔽对文件的依赖

mock测试

mock monkey : github.com/bouk/monkey

image.png

image.png

基准测试

testing.B 所谓基准测试(Benchmark Test,简称BMT)是指,通过一些科学的手段实现对一类测试对象的某项性能指标进行可测量、可重复和可比对的测试。很多时候,基准测试已被狭义地称为性能测试。 image.png