SuperAPI AI 工具集

go-testing

测试与质量

查看项目

更新于 10-16 08:07

技能介绍

用途:为 Go 项目提供系统化测试策略,涵盖单元测试、集成测试、基准测试与模糊测试,并帮助提升代码覆盖率。

主要能力:表驱动测试(用 t.Run 组织用例,配合 require/assert 断言)、Mock(基于 testify 的 mock.Mock 定义接口替身并校验调用期望,也可选 gomock)、基准测试(b.ResetTimer、b.ReportAllocs、b.RunParallel 并行基准)、模糊测试(f.Add 提供种子,f.Fuzz 校验如 JSON 往返不报错)。

参数:test_type 必填,取值 unit、integration、benchmark、fuzz;coverage_min 可选,默认 80;mock_lib 可选,默认 testify,也可 gomock。

常用命令:go test ./...;go test -v -race ./...;go test -coverprofile=coverage.out ./...;go tool cover -html=coverage.out -o coverage.html;go test -bench=. -benchmem ./...;go test -fuzz=FuzzJSON -fuzztime=30s ./...。

调用方式:Skill("go-testing")。

排障:测试不稳定多为竞态,可加 -race;测试超时多为死锁,检查 goroutine;Mock 未被调用通常是签名不匹配,核对接口。

限制:资料未提供具体价格、收费、平台支持范围、与其它工具集成方式或效果承诺,暂未提供;示例代码仅作示意,实际使用需按项目情况调整。