MeiChen MeiChen
首页
  • 开发
  • 系统
  • 网络
  • 数据库
  • 运维
  • DevOps
  • 虚拟化
  • 中间件
  • AIOps
  • 大模型
  • 跨境电商
学习计划
关于
  • 分类
  • 标签
  • 归档

MeiChen

网络工程师 | 运维工程师 | DevOps 实践者
首页
  • 开发
  • 系统
  • 网络
  • 数据库
  • 运维
  • DevOps
  • 虚拟化
  • 中间件
  • AIOps
  • 大模型
  • 跨境电商
学习计划
关于
  • 分类
  • 标签
  • 归档
  • Go学习笔记

    • 基础部分

      • 基础知识
      • 数据类型
      • fmt 的格式化输入输出
      • 运算符
      • 流程控制
      • 认识函数
      • 包的操作
      • Go 项目工程结构
      • 指针(pointer)
      • 数组(array)
      • 切片(slice)
      • 字典(map)
      • 结构体(struct)
      • 匿名组合
      • 方法
      • 接口
      • error 接口
      • panic
      • recover
      • 字符串操作
      • 字符串转换
      • 正则表达式
      • JSON 处理
      • 文件的操作
      • goroutine
      • channel
      • select
      • sync-lock 锁
      • 网络概述
      • Socket 编程
      • 发文件与聊天室
      • HTTP 编程
      • 爬虫实战
      • 单元测试了解
    • Web框架

    • ORM框架

  • 开发
  • Go学习笔记
  • 基础部分
MeiChen
2026-08-11

单元测试了解

# 单元测试了解

测试文件以 _test.go 结尾,测试函数以 Test 开头。表驱动测试适合集中覆盖正常值、边界值和失败路径。

func TestLevel(t *testing.T) {
	tests := []struct {
		input int
		want  string
	}{{99, "fast"}, {100, "normal"}, {-1, "invalid"}}

	for _, test := range tests {
		if got := level(test.input); got != test.want {
			t.Fatalf("level(%d) = %q, want %q", test.input, got, test.want)
		}
	}
}
1
2
3
4
5
6
7
8
9
10
11
12

使用 go test ./... 运行测试,go test -race ./... 检查竞态,go test -cover ./... 查看覆盖率。覆盖率不能替代对超时、取消、资源关闭和错误链的行为验证。

#Go
爬虫实战
标准库 template 学习入门

← 爬虫实战 标准库 template 学习入门→

最近更新
01
运算符
08-11
02
fmt 的格式化输入输出
08-11
03
流程控制
08-11
更多文章>
Theme by Vdoing | Copyright © 2026-2026 MeiChen | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式