← Back to list

table-testing
by jasonkuhrt
Tool configurations
⭐ 1🍴 0📅 Jan 22, 2026
SKILL.md
name: table-testing description: Table-driven testing patterns using @kitz/test. Triggers on creating test cases, parameterized tests, or when writing .test.ts files.
Table-Driven Testing
Import
import { Test } from '@kitz/test'
Function Mode (Preferred)
Types are inferred from the function signature:
// Basic - input/output pairs
Test.on(add)
.cases(
[[2, 3], 5],
[[-1, 1], 0],
[[0, 0], 0],
)
.test()
// Snapshot mode - no expected output
Test.on(parseValue)
.cases(
[['42']],
[['hello']],
)
.test()
Describe Mode
For custom types or grouping:
Test.describe('Transform')
.inputType<string>()
.outputType<string>()
.cases(
['hello', 'HELLO'],
['world', 'WORLD'],
)
.test(({ input, output }) => {
expect(input.toUpperCase()).toBe(output)
})
Chained Describes
Use for nested groupings:
Test.describe('String > uppercase', [
['hello', 'HELLO'],
])
.describe('String > lowercase', [
['HELLO', 'hello'],
])
.test(({ input, output }) => {
// runs for each describe block
})
Matrix Testing
Cartesian product of inputs:
Test.on(format)
.matrix({
locale: ['en', 'fr', 'de'],
currency: ['USD', 'EUR'],
amount: [100, 1000],
})
.test()
Output Transformation
Transform expected outputs before comparison:
Test.on(serialize)
.cases(
[{ a: 1 }, '{"a":1}'],
)
.onOutput(JSON.parse) // parse expected before comparing
.test()
Custom Assertions
Override default assertion:
Test.on(approximateCalc)
.cases(
[[1.1], 1],
[[2.9], 3],
)
.test(({ input, output, actual }) => {
expect(actual).toBeCloseTo(output, 0)
})
Key Rules
- NEVER wrap
Test.on()orTest.describe()in Vitestdescribeblocks - they create their own - Use
>separator for nested describes:'Parent > Child' - Function mode infers types automatically - prefer it when testing a single function
- Snapshot mode (no expected output) uses Vitest's snapshot system
Score
Total Score
55/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/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



