Back to list
JamesPrial

go-testing-table

by JamesPrial

WIP - collection of various Claude stuff i make/use/have_Claude_hallucinate

2🍴 0📅 Jan 23, 2026

SKILL.md


name: go-testing-table description: Table-driven test patterns for Go

Table-Driven Tests

Use when you have 2+ test cases for the same function.

CORRECT

func Test_Add_Cases(t *testing.T) {
    tests := []struct {
        name string
        a    int
        b    int
        want int
    }{
        {name: "positive numbers", a: 2, b: 3, want: 5},
        {name: "negative numbers", a: -1, b: -2, want: -3},
        {name: "zero", a: 0, b: 0, want: 0},
    }

    for _, tt := range tests {
        t.Run(tt.name, func(t *testing.T) {
            got := Add(tt.a, tt.b)
            if got != tt.want {
                t.Errorf("Add(%d, %d) = %d, want %d", tt.a, tt.b, got, tt.want)
            }
        })
    }
}

Why:

  • Single loop handles all cases
  • Easy to add new cases
  • Named cases for clear failure messages
  • Each case runs as subtest

WRONG

func Test_Add(t *testing.T) {
    if Add(2, 3) != 5 {
        t.Error("2 + 3 failed")
    }
    if Add(-1, -2) != -3 {
        t.Error("-1 + -2 failed")
    }
    if Add(0, 0) != 0 {
        t.Error("0 + 0 failed")
    }
}

Problems:

  • Repetitive code
  • First failure stops remaining tests
  • Hard to add new cases
  • No case names in output

Score

Total Score

65/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

1ヶ月以内に更新

+10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

+5

Reviews

💬

Reviews coming soon