tdd

📁 del-taiseiozaki/claude-code-orchestra 📅 9 days ago
1
总安装量
1
周安装量
#47974
全站排名
安装命令
npx skills add https://github.com/del-taiseiozaki/claude-code-orchestra --skill tdd

Agent 安装分布

claude-code 1

Skill 文档

Test-Driven Development

Implement $ARGUMENTS using Test-Driven Development (TDD).

TDD Cycle

Repeat: Red → Green → Refactor

1. Red:    Write a failing test
2. Green:  Write minimal code to pass the test
3. Refactor: Clean up code (tests still pass)

Implementation Steps

Phase 1: Test Design

  1. Confirm Requirements

    • What is the input
    • What is the output
    • What are the edge cases
  2. List Test Cases

    - [ ] Happy path: Basic functionality
    - [ ] Happy path: Boundary values
    - [ ] Error case: Invalid input
    - [ ] Error case: Error handling
    

Phase 2: Red-Green-Refactor

Step 1: Write First Test (Red)

# tests/test_{module}.py
def test_{function}_basic():
    """Test the most basic case"""
    result = function(input)
    assert result == expected

Run test and confirm failure:

uv run pytest tests/test_{module}.py -v

Step 2: Implementation (Green)

Write minimal code to pass the test:

  • Don’t aim for perfection
  • Hardcoding is OK
  • Just make the test pass

Run test and confirm success:

uv run pytest tests/test_{module}.py -v

Step 3: Refactoring (Refactor)

Improve while tests still pass:

  • Remove duplication
  • Improve naming
  • Clean up structure
uv run pytest tests/test_{module}.py -v  # Confirm still passes

Step 4: Next Test

Return to Step 1 with next test case from the list.

Phase 3: Completion Check

# Run all tests
uv run pytest -v

# Check coverage (target 80%+)
uv run pytest --cov={module} --cov-report=term-missing

Report Format

## TDD Complete: {Feature Name}

### Test Cases
- [x] {test1}: {description}
- [x] {test2}: {description}
...

### Coverage
{Coverage report}

### Implementation Files
- `src/{module}.py`: {description}
- `tests/test_{module}.py`: {N} tests

Notes

  • Write tests first (not after)
  • Keep each cycle small
  • Refactor after tests pass
  • Prioritize working code over perfection