返回 Skill 列表
extension
分类: 开发与工程无需 API Key

ac-tdd-runner

运行TDD周期以实现功能。在使用RED-GREEN-REFACTOR实施功能、进行测试驱动开发、自动化TDD工作流程或确保先测试后开发时使用。

person作者: jakexiaohubgithub

AC TDD Runner

Automate the Test-Driven Development cycle for feature implementation.

Purpose

Enforces the RED-GREEN-REFACTOR cycle, ensuring all features are implemented with test-first methodology for quality and maintainability.

Quick Start

from scripts.tdd_runner import TDDRunner

runner = TDDRunner(project_dir)
result = await runner.run_cycle(feature)

TDD Cycle

RED Phase

Write failing tests first:

red_result = await runner.red_phase(feature)
# Creates test file with failing tests
# Verifies tests actually fail

GREEN Phase

Implement minimum code to pass:

green_result = await runner.green_phase(feature)
# Implements code
# Runs tests until all pass
# Minimum necessary implementation

REFACTOR Phase

Clean up while tests pass:

refactor_result = await runner.refactor_phase(feature)
# Improve code structure
# Ensure tests still pass
# Apply coding standards

Cycle Result

{
  "feature_id": "auth-001",
  "cycle_complete": true,
  "phases": {
    "red": {
      "success": true,
      "tests_created": 5,
      "all_tests_fail": true
    },
    "green": {
      "success": true,
      "iterations": 3,
      "all_tests_pass": true
    },
    "refactor": {
      "success": true,
      "changes_made": ["extracted_helper", "renamed_variable"],
      "tests_still_pass": true
    }
  },
  "coverage": 92.5,
  "duration_ms": 120000
}

RED Phase Details

  1. Generate test file from feature test_cases
  2. Write test functions with proper structure
  3. Run tests to verify they fail
  4. If tests pass unexpectedly, add more specific assertions

GREEN Phase Details

  1. Analyze failing tests
  2. Write minimum implementation
  3. Run tests
  4. If tests fail, iterate on implementation
  5. Stop when all tests pass

REFACTOR Phase Details

  1. Identify code smells
  2. Apply refactoring patterns
  3. Run tests after each change
  4. Revert if tests fail
  5. Continue until code is clean

Configuration

{
  "max_green_iterations": 10,
  "coverage_threshold": 80,
  "refactoring_patterns": [
    "extract_method",
    "rename_for_clarity",
    "remove_duplication"
  ],
  "test_framework": "pytest"
}

Integration

  • Uses: ac-test-generator for RED phase
  • Uses: ac-criteria-validator for GREEN verification
  • Reports to: ac-task-executor

API Reference

See scripts/tdd_runner.py for full implementation.