Agent skill · software engineering · affaan-m

golang-testing

Go测试模式包括表格驱动测试、子测试、基准测试、模糊测试和测试覆盖率。遵循TDD方法论,采用地道的Go实践。

Why this skill is useful

Provides specific patterns and practices for Go testing that enhance the AI's ability to generate reliable test code.

What it needs

About 8k tokens when loaded. Last updated 2026-08-06. 238,342 stars on the source repository.

What this skill does

Go 测试模式 遵循 TDD 方法论,用于编写可靠、可维护测试的全面 Go 测试模式。 何时激活 编写新的 Go 函数或方法时 为现有代码添加测试覆盖率时 为性能关键代码创建基准测试时 为输入验证实现模糊测试时 在 Go 项目中遵循 TDD 工作流时 Go 的 TDD 工作流 红-绿-重构循环 Go 中的分步 TDD 表驱动测试 Go 测试的标准模式。以最少的代码实现全面的覆盖。 包含错误情况的表驱动测试 子测试和子基准测试 组织相关测试 并行子测试 测试辅助函数 辅助函数 临时文件和目录 黄金文件 针对存储在 testdata/ 中的预期输出文件进行测试。 使用接口进行模拟 基于接口的模拟 基准测试 基本基准测试 不同大小的基准测试 内存分配基准测试 模糊测试 (Go 1.18+) 基本模糊测试 多输入模糊测试 测试覆盖率 运行覆盖率 覆盖率目标 代码类型 目标 ----------- -------- 关键业务逻辑 100% 公共 API 90%+ 通用代码 80%+ 生成的代码 排除 从覆盖率中排除生成的代码 HTTP 处理器测试 命令测试 最佳实践 应该: 先写测试 (TDD) 使用表驱动测试以实现全面覆盖 测试行为,而非实现 在辅助函数中使用 t.Helper() 对于独立的测试使用 t.Parallel() 使用 t.Cleanup() 清理资源 使用描述场景的有意义的测试名称 不应该: 直接测试私有函数 (通过公共 API 测试) 在测试中使用 time.Sleep() (使用通道或条件) 忽略不稳定的测试 (修复或移除它们) 模拟所有东西 (在可能的情况下优先使用集成测试) 跳过错误路径测试 与 CI/CD 集成 记住:测试即文档。它们展示了你的代码应如何使用。清晰地编写它们并保持更新。

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills affaan-m/golang-testing--9bb440

View the source on GitHub

Browse the @skills marketplace