SuperAPI AI 工具集

go-table-driven-tests

测试与质量

查看项目

更新于 10-16 04:31

技能介绍

用途:该技能用于编写或重构 Go 表驱动测试,遵循 Go 社区最佳实践与所在仓库的约定,减少重复代码、提升测试可维护性。

主要能力:提供切片模式与 map 模式两种模板;约定变量命名(cases、tt、cs、tc、input、want、got、err、name 等);规定结构体字段写法与错误报告方式(优先 errors.Is、优先 t.Errorf);覆盖前置条件函数、并行测试(t.Parallel 与 Go 1.22 前的 tt := tt)等进阶模式;列出常见陷阱,如遗漏 t.Run、滥用 Fatalf、匿名结构体、命名不一致。

使用方式:在测试同一函数或行为有多个输入、需要系统覆盖边界与错误场景时采用;每个用例通过 t.Run 作为子测试运行。运行命令保持原样:go test -run TestFunctionName、go test -run TestFunctionName/descriptive_name、go test -run TestFunctionName/.*/empty、go test -v、go test -race。

适用场景:复制粘贴测试代码、需要不断新增用例、边界条件与错误路径需系统覆盖时。

限制:不适用于完全无关的测试场景,或每个测试需要显著不同的 setup/teardown 逻辑时;大型 golden 测试集才使用外部文件,测试数据一般内联。资料未提供收费、价格、平台与效果信息。