测试
单元测试
- 流程
- 输入,
- 测试单元,
- 输出,
- 校对
- 规则
- 所有测试文件以_test.go
- func TestXxx
- 初始化逻辑放到TestMain中
- 覆盖率
- 一般覆盖率: 50% ~ 60%
- 测试分支相互独立、全面覆盖
- 测试单元粒度足够小
- 依赖
- 幂等(重复运行测试),
- 稳定(单元测试相互独立)
Mock测试
Patch与Unpatch
基准测试
- 优化代码,需要对当前代码分析
- 内置的测试框架提供了基准测试的能力
项目实践
需求设计
- 展示话题 (标题,文字描述) 和回帖列表
- 暂不考虑前端页面实现,仅仅实现一个本地web服务
- 话题和回帖数据用文件存储
- 结构体定义:
- 分层结构设计:
-
- 数据层: 数据 Model,外部数据的增删改查
-
- 逻辑层: 业务 Entity,处理核心业务逻辑输出
-
- 视图层: 视图 view,处理和外部的交互逻辑
代码开发
- 数据层
- 逻辑层
- 视图层
项目运行
总结
本次课程学习了Go测试的相关知识,了解的测试的基本流程,类型和结果等,最后进行了一个项目实践,做了需求分析,代码开发,并采用了分层的结构,最后成功运行项目。有些知识还存在疑惑,需要继续学习。