一、测试基础
1.1 测试文件和函数
- 测试文件命名(_test.go)
- 测试函数签名
- 测试运行(go test)
1.2 测试包结构
1.3 go test 命令
二、单元测试
2.1 测试函数
- Test 函数
- TestMain 函数
- 测试辅助函数
2.2 测试断言
- if 判断
- t.Error / t.Fatal
- testing.T 方法
2.3 表驱动测试
2.4 测试覆盖率
三、测试组织
3.1 测试固件
- setup 和 teardown
- TestMain
- 测试环境准备
3.2 测试隔离
3.3 Mock 和 Stub
四、高级测试
4.1 基准测试(Benchmark)
- Benchmark 函数
- 基准测试运行
- 性能分析
- 内存分配统计
4.2 示例测试(Example)
4.3 模糊测试(Fuzz Testing)
- Fuzz 函数
- 随机输入生成
- Go 1.18+ 特性
4.4 子测试
五、测试工具
5.1 httptest
5.2 ioutil 测试
5.3 第三方测试库
六、测试最佳实践
6.1 测试原则
6.2 TDD 开发流程
6.3 测试覆盖率标准
6.4 持续集成测试