tdd

📁 pproenca/dot-skills 📅 Jan 22, 2026
66
总安装量
66
周安装量
#3307
全站排名
安装命令
npx skills add https://github.com/pproenca/dot-skills --skill tdd

Agent 安装分布

claude-code 55
opencode 46
gemini-cli 44
codex 40
cursor 36

Skill 文档

Community Test-Driven Development Best Practices

Comprehensive guide to Test-Driven Development practices, designed for AI agents and LLMs. Contains 42 rules across 8 categories, prioritized by impact to guide test writing, refactoring, and code generation.

When to Apply

Reference these guidelines when:

  • Writing new tests using TDD workflow
  • Implementing the red-green-refactor cycle
  • Designing test structure and organization
  • Creating test data and fixtures
  • Reviewing or refactoring existing test suites

TDD Workflow

  1. RED: Write a failing test that defines desired behavior
  2. GREEN: Write minimal code to make the test pass
  3. REFACTOR: Clean up code while keeping tests green
  4. Repeat for each new behavior

Rule Categories by Priority

Priority Category Impact Prefix
1 Red-Green-Refactor Cycle CRITICAL cycle-
2 Test Design Principles CRITICAL design-
3 Test Isolation & Dependencies HIGH isolate-
4 Test Data Management HIGH data-
5 Assertions & Verification MEDIUM assert-
6 Test Organization & Structure MEDIUM org-
7 Test Performance & Reliability MEDIUM perf-
8 Test Pyramid & Strategy LOW strat-

Quick Reference

1. Red-Green-Refactor Cycle (CRITICAL)

  • cycle-write-test-first – Write the Test Before the Implementation
  • cycle-minimal-code-to-pass – Write Only Enough Code to Pass the Test
  • cycle-refactor-after-green – Refactor Immediately After Green
  • cycle-verify-test-fails-first – Verify the Test Fails Before Writing Code
  • cycle-small-increments – Take Small Incremental Steps
  • cycle-maintain-test-list – Maintain a Test List

2. Test Design Principles (CRITICAL)

  • design-test-behavior-not-implementation – Test Behavior Not Implementation
  • design-one-assertion-per-test – One Logical Assertion Per Test
  • design-descriptive-test-names – Use Descriptive Test Names
  • design-aaa-pattern – Follow the Arrange-Act-Assert Pattern
  • design-test-edge-cases – Test Edge Cases and Boundaries
  • design-avoid-logic-in-tests – Avoid Logic in Tests

3. Test Isolation & Dependencies (HIGH)

  • isolate-mock-external-dependencies – Mock External Dependencies
  • isolate-no-shared-state – Avoid Shared Mutable State Between Tests
  • isolate-deterministic-tests – Write Deterministic Tests
  • isolate-prefer-stubs-over-mocks – Prefer Stubs Over Mocks for Queries
  • isolate-use-dependency-injection – Use Dependency Injection for Testability

4. Test Data Management (HIGH)

  • data-use-factories – Use Factories for Test Data Creation
  • data-minimal-setup – Keep Test Setup Minimal
  • data-avoid-mystery-guests – Avoid Mystery Guests
  • data-unique-identifiers – Use Unique Identifiers Per Test
  • data-builder-pattern – Use Builder Pattern for Complex Objects

5. Assertions & Verification (MEDIUM)

  • assert-specific-assertions – Use Specific Assertions
  • assert-error-messages – Assert on Error Messages and Types
  • assert-no-assertions-antipattern – Every Test Must Have Assertions
  • assert-custom-matchers – Create Custom Matchers for Domain Assertions
  • assert-snapshot-testing – Use Snapshot Testing Judiciously

6. Test Organization & Structure (MEDIUM)

  • org-group-by-behavior – Group Tests by Behavior Not Method
  • org-file-structure – Follow Consistent Test File Structure
  • org-setup-teardown – Use Setup and Teardown Hooks Appropriately
  • org-test-utilities – Extract Reusable Test Utilities
  • org-parameterized-tests – Use Parameterized Tests for Variations

7. Test Performance & Reliability (MEDIUM)

  • perf-fast-unit-tests – Keep Unit Tests Under 100ms
  • perf-avoid-network-calls – Eliminate Network Calls in Unit Tests
  • perf-fix-flaky-tests – Fix Flaky Tests Immediately
  • perf-parallelize-tests – Parallelize Independent Tests
  • perf-avoid-sleep – Avoid Arbitrary Sleep Calls

8. Test Pyramid & Strategy (LOW)

  • strat-test-pyramid – Follow the Test Pyramid
  • strat-mutation-testing – Use Mutation Testing to Validate Test Quality
  • strat-coverage-targets – Set Meaningful Coverage Targets
  • strat-integration-boundaries – Test Integration at Service Boundaries
  • strat-e2e-critical-paths – Limit E2E Tests to Critical User Paths

How to Use

Read individual reference files for detailed explanations and code examples:

Related Skills

  • For Vitest framework specifics, see vitest skill
  • For API mocking with MSW, see msw skill

Full Compiled Document

For the complete guide with all rules expanded: AGENTS.md