Communitygithub.com

golang-testing

Go 測試模式,包括表格驅動測試、子測試、基準測試、模糊測試和測試覆蓋率。遵循 TDD 方法論與慣用 Go 實務。用於編寫 Go 測試時 — 表格驅動案例、子測試、基準測試、模糊測試或覆蓋率。

golang-testing 是什麼?

這項技能提供了一套全面的 Go 測試模式指南,協助開發者遵循 TDD(測試驅動開發)方法論,撰寫可靠且可維護的測試。它涵蓋了 Go 測試中的核心實務,例如表格驅動測試、子測試與子基準測試、測試輔助函數、黃金檔案測試、基於介面的 Mock 技術,以及 HTTP 處理器的測試方法。此外,該技能還深入介紹了效能基準測試和 Go 1.18 以上版本的模糊測試(Fuzzing),並說明了如何配置測試覆蓋率。此技能支援所有 Go 專案,無論是 CLI 工具、函式庫或 Web 服務,都能透過清晰的範例和最佳實務,幫助開發者建立高品質的測試套件。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/golang-testing

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Go 測試模式

全面的 Go 測試模式,用於遵循 TDD 方法論撰寫可靠且可維護的測試。

使用時機

  • 撰寫新的 Go 函式或方法時
  • 為現有程式碼增加測試覆蓋率時
  • 為效能關鍵程式碼建立基準測試時
  • 為輸入驗證實作模糊測試時
  • 在 Go 專案中遵循 TDD 工作流程時

Go 的 TDD 工作流程

RED-GREEN-REFACTOR 循環

RED     → 先撰寫一個會失敗的測試
GREEN   → 撰寫最少程式碼讓測試通過
REFACTOR → 改善程式碼,同時保持測試通過
REPEAT  → 繼續下一個需求

Go 中的逐步 TDD

// 步驟 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:視需要重構,並驗證測試仍通過

表格驅動測試

Go 測試的標準模式。以最少程式碼實現全面覆蓋。

func TestAdd(t *testing.T) {
    tests := []struct {
        name     string
        a, b     int
        expected int
    }{
        {"正數", 2, 3, 5},
        {"負數", -1, -2, -3},
        {"零值", 0, 0, 0},
        {"混合正負號", -1, 1, 0},
        {\

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

相關技能