AI SummaryA comprehensive Go testing booster that teaches TDD methodology, table-driven tests, benchmarking, and fuzzing patterns for Claude Code users. Ideal for Go developers aiming to write reliable, well-tested code following idiomatic Go practices.
Install
# Add to your project root as SKILL.md curl -o SKILL.md "https://raw.githubusercontent.com/xu-xiang/everything-claude-code-zh/main/skills/golang-testing/SKILL.md"
Description
Go 测试模式,包括表格驱动测试、子测试、基准测试、模糊测试和测试覆盖率。遵循具有惯用 Go 实践的 TDD 方法论。
Go 测试模式 (Testing Patterns)
遵循测试驱动开发(TDD)方法论,编写可靠且易于维护的 Go 测试的全面模式。
何时激活
• 编写新的 Go 函数或方法时 • 为现有代码增加测试覆盖率时 • 为性能关键型代码创建基准测试(Benchmarks)时 • 为输入验证实现模糊测试(Fuzz tests)时 • 在 Go 项目中遵循 TDD 工作流时
红-绿-重构 (RED-GREEN-REFACTOR) 循环
` RED → 先编写一个失败的测试 GREEN → 编写最少的代码使测试通过 REFACTOR → 在保持测试通过的同时改进代码 REPEAT → 继续处理下一个需求 `
Go 中的分步 TDD
`go // 步骤 1:定义接口/签名 // calculator.go package calculator func Add(a, b int) int { panic("not implemented") // 占位符 } // 步骤 2:编写失败的测试 (RED) // calculator_test.go package calculator import "testing" func TestAdd(t *testing.T) { got := Add(2, 3) want := 5 if got != want { t.Errorf("Add(2, 3) = %d; want %d", got, want) } } // 步骤 3:运行测试 - 验证失败 (FAIL) // $ go test // --- FAIL: TestAdd (0.00s) // panic: not implemented // 步骤 4:实现最少代码 (GREEN) func Add(a, b int) int { return a + b } // 步骤 5:运行测试 - 验证通过 (PASS) // $ go test // PASS // 步骤 6:如果需要则进行重构,并验证测试仍然通过 `
Quality Score
Acceptable
74/100
Trust & Transparency
Open Source — MIT
Source code publicly auditable
Verified Open Source
Hosted on GitHub — publicly auditable
Actively Maintained
Last commit 4d ago
95 stars
20 forks