界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
数据与研究 · SKILL.md

tdd-guide

tdd-guide

【数据与研究】Guide red-green-refactor TDD with test generation, coverage-gap analysis, and multi- framework support. Use when writing tests first, analyzing coverage, generating test stubs, or converting tests between Jest, Pytest, JUnit, and Vitest.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: tdd-guide description: > Guide red-green-refactor TDD with test generation, coverage-gap analysis, and multi- framework support. Use when writing tests first, analyzing coverage, generating test stubs, or converting tests between Jest, Pytest, JUnit, and Vitest. license: MIT + Commons Clause metadata: version: 1.1.0 author: borghei category: engineering domain: testing updated: 2026-06-15 tags: [tdd, test-driven-development, testing, red-green-refactor]

TDD Guide

The agent guides red-green-refactor TDD workflows, generates framework-specific test stubs from requirements, parses coverage reports to identify prioritized gaps, and calculates test quality metrics including smell detection and assertion density. Supports Jest, Pytest, JUnit, Vitest, and Mocha.

Core Capabilities

  • Red-green-refactor guidance — phase validation (RED/GREEN/REFACTOR), cycle tracking, refactoring suggestions
  • Test generation — produce test cases and framework-specific stubs from user stories, acceptance criteria, and API specs
  • Coverage gap analysis — parse LCOV/JSON/XML reports, identify files below threshold, prioritize P0/P1/P2
  • Test quality metrics — cyclomatic/cognitive complexity, assertion density, isolation, naming, and test smell detection
  • Multi-framework support — convert tests and generate fixtures/mocks across Jest, Vitest, Pytest, JUnit, TestNG, Mocha, Jasmine

When to Use

  • Writing a failing test first for a new feature (test-driven development)
  • Analyzing coverage reports to find and prioritize gaps
  • Generating test stubs from requirements or API specs
  • Converting tests between frameworks or scaffolding fixtures/mocks
  • Assessing test quality and detecting smells before merge

Clarify First

Before generating tests or analyzing coverage, confirm these inputs. If any is unknown or vague, ASK — do not assume:

  • Framework & language — Jest / Vitest / Pytest / JUnit / Mocha (changes the generated stubs and any conversion)
  • Task — generate from requirements / analyze coverage / guide a red-green-refactor cycle / convert tests (selects the tool)
  • Source input — the user story / acceptance criteria, or the coverage report (LCOV/JSON/XML) to parse (the script's input)

Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.

Quick Start

# Generate test cases from requirements (Python API)
from test_generator import TestGenerator, TestFramework
gen = TestGenerator(framework=TestFramework.PYTEST, language="python")
cases = gen.generate_from_requirements(requirements)

# Analyze coverage gaps from LCOV report
from coverage_analyzer import CoverageAnalyzer
analyzer = CoverageAnalyzer()
analyzer.parse_coverage_report(content, "lcov")
gaps = analyzer.identify_gaps(threshold=80.0)

# Guide TDD cycle
from tdd_workflow import TDDWorkflow
wf = TDDWorkflow()
wf.start_cycle("User can reset password via email")

References

Load the reference that matches the task — keep this file lean and pull detail on demand:

  • references/workflows.md — step-by-step procedures for TDD-ing a feature, analyzing coverage gaps, and generating tests from requirements, each with validation checkpoints. Read when starting any of the three core workflows.
  • references/tool-reference.md — complete API for all eight scripts (constructors, methods, parameters, worked examples) plus the tools summary table. Read when you need exact module names or method signatures.
  • references/tdd-best-practices.md — red-green-refactor discipline, naming/structure guidelines, test quality principles, and coverage goals. Read when deciding how to write or evaluate tests.
  • references/framework-guide.md — framework selection matrix, configuration, and test patterns for TypeScript/JS, Python, and Java, with version requirements. Read when setting up or choosing a test framework.
  • references/ci-integration.md — coverage report flow, GitHub Actions examples (Jest/Pytest/JaCoCo), quality gates, and trend tracking. Read when wiring coverage and quality gates into CI.
  • references/troubleshooting-and-quality.md — anti-patterns, troubleshooting table, and success criteria. Read when tests behave unexpectedly or when defining the test-quality bar.

Scope & Limitations

This skill covers:

  • Unit test generation, scaffolding, and stub creation for Jest, Pytest, JUnit, Vitest, and Mocha
  • Static coverage report parsing (LCOV, JSON/Istanbul, XML/Cobertura) with gap identification and prioritized recommendations
  • Red-green-refactor workflow guidance with phase validation and cycle tracking
  • Test quality assessment including complexity analysis, isolation scoring, naming quality, and test smell detection

This skill does NOT cover:

  • Integration, end-to-end, or performance test generation -- see senior-qa for E2E patterns and senior-devops for load testing
  • Runtime test execution or live coverage measurement -- scripts perform static analysis only; you must run your test suite externally
  • Visual/snapshot testing or browser-based test workflows -- use Playwright, Cypress, or Storybook for UI-level testing
  • Security-focused test generation (fuzz testing, penetration testing) -- see senior-security and senior-secops skills

Integration Points

SkillIntegrationData Flow
senior-qaGenerated test stubs feed into QA review workflows; QA coverage standards inform threshold settingstest_generator.py output → QA review → approved test suite
code-reviewerMetrics calculator output provides quantitative data for code review checklistsmetrics_calculator.py quality report → code review scoring
senior-fullstackScaffolded projects include test infrastructure; TDD guide generates tests for scaffolded modulesproject_scaffolder.py output → test_generator.py input
senior-devopsCoverage reports from CI pipelines are parsed by coverage analyzer; recommendations feed back into pipeline gatesCI coverage artifact → coverage_analyzer.py → pass/fail gate
senior-securityEdge-case fixtures for auth and API scenarios complement security-focused test plansfixture_generator.py auth/API edge cases → security test plan
tech-stack-evaluatorFramework detection informs stack evaluation; test quality metrics feed into technology assessmentformat_detector.py analysis → stack evaluation input
我的收藏