Go基础学习-测试 | 青训营

103 阅读1分钟

测试

单元测试

  • 流程
  1. 输入,
  2. 测试单元,
  3. 输出,
  4. 校对
  • 规则
  1. 所有测试文件以_test.go
  2. func TestXxx
  3. 初始化逻辑放到TestMain中
  • 覆盖率
  1. 一般覆盖率: 50% ~ 60%
  2. 测试分支相互独立、全面覆盖
  3. 测试单元粒度足够小
  • 依赖
  1. 幂等(重复运行测试),
  2. 稳定(单元测试相互独立)

Mock测试

Patch与Unpatch

基准测试

  • 优化代码,需要对当前代码分析
  • 内置的测试框架提供了基准测试的能力

项目实践

需求设计

  1. 展示话题 (标题,文字描述) 和回帖列表
  2. 暂不考虑前端页面实现,仅仅实现一个本地web服务
  3. 话题和回帖数据用文件存储
  • 结构体定义: image.png
  • 分层结构设计: image.png
    • 数据层: 数据 Model,外部数据的增删改查
    • 逻辑层: 业务 Entity,处理核心业务逻辑输出
    • 视图层: 视图 view,处理和外部的交互逻辑

代码开发

  • 数据层

image.png

  • 逻辑层

image.png

  • 视图层

image.png

项目运行

总结

本次课程学习了Go测试的相关知识,了解的测试的基本流程,类型和结果等,最后进行了一个项目实践,做了需求分析,代码开发,并采用了分层的结构,最后成功运行项目。有些知识还存在疑惑,需要继续学习。