• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

第六届字节跳动青训营·后端基础班第二课第二节 Go语言工程实践:测试

武飞扬头像
dzk的笔记本
帮助3

一、测试

事故

学新通

测试

学新通

学新通

1.1 单元测试

学新通

1.1.1 规则

  • 所有测试文件以_test.go结尾
  • func TestXxx(*testing.T)
  • 初始化逻辑放到TestMain

学新通

1.1.2 测试

学新通

1.1.3 运行

学新通

1.1.4 assert

学新通

1.1.5 覆盖率

学新通

学新通

学新通

  • Tips
    • 一般覆盖率:50%-60%,较高覆盖率80%
    • 测试分支相互独立、全面覆盖
    • 测试单元粒度足够小,函数单一职责

1.2 依赖

学新通

1.3 文件处理

学新通

1.4 Mock

快速Mock函数

  • 为一个函数打桩
  • 为一个方法打桩

学新通

学新通

1.5 基准测试

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

1.5.1 例子

学新通

1.5.2 运行

学新通

1.5.3 优化

学新通

二、项目实践

需求背景

学新通

2.1 需求描述

社区话题页面

  • 展示话题(标题、文字描述)和回帖列表
  • 暂不考虑前端页面实现,仅仅实现一个本地web服务
  • 话题和回帖数据用文件存储

2.2 需求用例

学新通

2.3 E-R图(Entity Relationship Diagram)

学新通

2.4 分层结构

  • 数据层:数据Model,外部数据的增删改查
  • 逻辑层:业务Entity,处理核心业务逻辑输出
  • 视图层:视图view,处理和外部的交互逻辑

学新通

2.5 组件工具

学新通

2.6 Repository

学新通

2.6.1 index(利用map)

学新通

学新通

2.6.2 查询

学新通

2.7 Service

学新通

学新通

学新通

2.8 Controller

学新通

2.9 Router

学新通

2.10 运行

学新通

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfhakek
系列文章
更多 icon
同类精品
更多 icon
继续加载