Go资深工程师讲解(慕课) 003

003

测试

吐槽别人家的,go语言采用表格驱动测试

  • 测试数据和测试逻辑混在一些
  • 出错信息不明确
  • 一旦一个数据出错测试全部结束

表格驱动测试

test:=[]struct{
    a,b,c int32
}{
    {1,2,3},
    {0,2,0},
    {0,0,0},
    {0,0,0},
    {-1,1,0},
    {math.MaxInt32,1,math.MinInt32},
}
for _,test:= reange tests {
    if actual:=add(test.a,test.b); actual!=test.c{
        // 测试提示
    }
}
  • 分离测试数据和测试逻辑
  • 明确出错信息
  • 可以部分失败

主题测试文章,只做测试使用。发布者:Walker,转转请注明出处:https://walker-learn.xyz/archives/6738

(0)
Walker的头像Walker
上一篇 2026年3月6日 07:00
下一篇 2026年3月6日 06:00

相关推荐

  • 编程基础 0002_名库讲解

    名库讲解 goconfig go 语言针对 windows 下常见的 ini 格式的配置文件解析器,该解析器在涵盖了所有 ini 文件操作的基础上,又针对 go 语言实际开发过程中遇到的一些需求进行了扩展。该解析器最大的优势在于对注释的极佳支持,除此之外,支持多个配置文件覆盖加载也是非常特别但好用的功能。 提供与 windows api 一模一样的操作 支持…

    2026年3月6日
    10900
  • 编程基础 0008_标准库进阶

    Go 标准库进阶 系统整理 Go 标准库中最常用的包,重点覆盖 io、os、bufio、strings、time、fmt 等 1. io 包核心接口 Go 的 I/O 设计围绕几个核心接口展开,几乎所有 I/O 操作都基于它们。 // 最基础的两个接口 type Reader interface { Read(p []byte) (n int, err er…

    后端开发 2026年3月6日
    13800
  • Go工程师体系课 007

    商品微服务 实体结构说明 本模块包含以下核心实体: 商品(Goods) 商品分类(Category) 品牌(Brands) 轮播图(Banner) 品牌分类(GoodsCategoryBrand) 1. 商品(Goods) 描述平台中实际展示和销售的商品信息。 字段说明 字段名 类型 说明 name String 商品名称,必填 brand Pointer …

    后端开发 2026年3月6日
    10300
  • 编程基础 0010_Go底层原理与源码精华

    Go 底层原理与源码精华 基于《Go 源码剖析》(雨痕, 第五版下册)、《Go 1.4 runtime》、《Go 学习笔记 第四版》、《Golang 性能优化》、《Go Execution Modes》等资料整理,并补充现代 Go 版本的变化。 一、Go 编译器与链接器 1.1 编译流程概览 Go 的编译过程分为以下阶段: 源码 (.go) --> 词…

    后端开发 2026年3月6日
    11300
  • 编程基础 0006_并发进阶_sync包与Context

    并发进阶:sync 包与 Context 一、sync 包详解 1. sync.Mutex 与 sync.RWMutex // Mutex: 互斥锁,同一时间只有一个 goroutine 能持有 var mu sync.Mutex var count int func increment() { mu.Lock() defer mu.Unlock() cou…

    后端开发 2026年3月6日
    12400
简体中文 繁体中文 English