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://www.walker-learn.xyz/archives/6738

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

相关推荐

  • 编程基础 0004_Web_beego开发

    beego 开始 2 文章的添加与删除 创建 TopicController // controllers中添加topic.go package controllers import "github.com/astaxie/beego" type TopicController struct { beego.Controller } fu…

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

    Docker 容器化 —— Go 项目实战指南 一、Docker 核心概念 1.1 什么是 Docker Docker 是一个开源的容器化平台,它可以将应用程序及其所有依赖项打包到一个标准化的单元(容器)中,从而实现"一次构建,到处运行"。对于 Go 开发者而言,Docker 解决了以下痛点: 开发环境与生产环境不一致 依赖管理复杂(数据库、缓存、消息队列等…

    后端开发 2026年3月6日
    7400
  • Go资深工程师讲解(慕课) 008_GMP调度器与Go设计哲学

    Go GMP 调度器与设计哲学 对应视频 9-2 go语言的调度器、18-1 体会Go语言的设计、18-2 课程总结 1. Go 调度器演进 1.0 时代:单线程调度器(Go 0.x) 只有一个线程运行 goroutine 所有 goroutine 排队等待 无法利用多核 1.1 时代:多线程调度器(Go 1.0) 引入多线程 但全局锁竞争严重,性能瓶颈 1…

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

    项目结构说明:user-web 模块 user-web 是 joyshop_api 工程中的用户服务 Web 层模块,负责处理用户相关的 HTTP 请求、参数校验、业务路由以及调用后端接口等功能。以下是目录结构说明: user-web/ ├── api/ # 控制器层,定义业务接口处理逻辑 ├── config/ # 配置模块,包含系统配置结构体及读取逻辑 …

    后端开发 2026年3月6日
    6700
  • Go日积月累 电子书目录与推荐

    Go 语言电子书精华整理与推荐 基于 48 份 Go 语言电子书资料,按主题提炼为 4 篇系统化精华文档。整理时间:2026-03-06 精华文章导读 以下 4 篇文章从 48 份电子书中提炼核心知识,按主题系统化整理,覆盖 Go 语言从底层原理到企业实战的完整知识体系。 1. Go 底层原理与源码精华 知识来源:《Go 源码剖析》(雨痕)、《Go 1.4 …

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