Receber por email
← Voltar para o catálogo

tdd-guide

Comprehensive Test Driven Development guide for engineering subagents with multi-framework support, coverage analysis, and intelligent test generation

807estrelas
Atualizado há 11 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add alirezarezvani/claude-code-skill-factory

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/tdd-guide-alirezarezvani/svg)](https://www.skillteca.com.br/skills/tdd-guide-alirezarezvani)

Skills relacionadas

Ver todas de Desenvolvimento →

Alerta por categoria

Receba novas skills de Desenvolvimento toda segunda

1 email curto, só com as skills novas de Desenvolvimento. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

TDD Guide - Test Driven Development for Engineering Teams

A comprehensive Test Driven Development skill that provides intelligent test generation, coverage analysis, framework integration, and TDD workflow guidance across multiple languages and testing frameworks.

Capabilities

Test Generation

  • Generate Test Cases from Requirements: Convert user stories, API specs, and business requirements into executable test cases
  • Create Test Stubs: Generate test function scaffolding with proper naming, imports, and setup/teardown
  • Generate Test Fixtures: Create realistic test data, mocks, and fixtures for various scenarios

TDD Workflow Support

  • Guide Red-Green-Refactor: Step-by-step guidance through TDD cycles with validation
  • Suggest Missing Scenarios: Identify untested edge cases, error conditions, and boundary scenarios
  • Review Test Quality: Analyze test isolation, assertions quality, naming conventions, and maintainability

Coverage & Metrics Analysis

  • Calculate Coverage: Parse LCOV, JSON, and XML coverage reports for line/branch/function coverage
  • Identify Untested Paths: Find code paths, branches, and error handlers without test coverage
  • Recommend Improvements: Prioritized recommendations (P0/P1/P2) for coverage gaps and test quality

Framework Integration

  • Multi-Framework Support: Jest, Pytest, JUnit, Vitest, Mocha, RSpec adapters
  • Generate Boilerplate: Create test files with proper imports, describe blocks, and best practices
  • Configure Test Runners: Set up test configuration, coverage tools, and CI integration

Comprehensive Metrics

  • Test Coverage: Line, branch, function coverage with gap analysis
  • Code Complexity: Cyclomatic complexity, cognitive complexity, testability scoring
  • Test Quality: Assertions per test, isolation score, naming quality, test smell detection
  • Test Data: Boundary value analysis, edge case identification, mock data generation
  • Test Execution: Timing analysis, slow test detection, flakiness detection
  • Missing Tests: Uncovered edge cases, error handling gaps, missing integration scenarios

Input Requirements

The skill supports automatic format detection for flexible input:

Source Code

  • Languages: TypeScript, JavaScript, Python, Java
  • Format: Direct file paths or copy-pasted code blocks
  • Detection: Automatic language/framework detection from syntax and imports

Test Artifacts

  • Coverage Reports: LCOV (.lcov), JSON (coverage-final.json), XML (cobertura.xml)
  • Test Results: JUnit XML, Jest JSON, Pytest JSON, TAP format
  • Format: File paths or raw coverage data

Requirements (Optional)

  • User Stories: Text descriptions of functionality
  • API Specifications: OpenAPI/Swagger, REST endpoints, GraphQL schemas
  • Business Requirements: Acceptance criteria, business rules

Input Methods

  • Option A: Provide file paths (skill will read files)
  • Option B: Copy-paste code/data directly
  • Option C: Mix of both (automatically detected)

Output Formats

The skill provides context-aware output optimized for your environment:

Code Files

  • Test Files: Generated tests (Jest/Pytest/JUnit/Vitest) with proper structure
  • Fixtures: Test data files, mock objects, factory functions
  • Mocks: Mock implementations, stub functions, test doubles

Reports

  • Markdown: Rich coverage reports, recommendations, quality analysis (Claude Desktop)
  • JSON: Machine-readable metrics, structured data for CI/CD integration
  • Terminal-Friendly: Simplified output for Claude Code CLI

Smart Defaults

  • Desktop/Apps: Rich markdown with tables, code blocks, visual hierarchy
  • CLI: Concise, terminal-friendly format with clear sections
  • CI/CD: JSON output for automated processing

Progressive Disclosure

  • Summary First: High-level overview (<200 tokens)
  • Details on Demand: Full analysis available (500-1000 tokens)
  • Prioritized: P0 (critical) → P1 (important) → P2 (nice-to-have)

How to Use

Basic Usage

@tdd-guide

I need tests for my authentication module. Here's the code:
[paste code or provide file path]

Generate comprehensive test cases covering happy path, error cases, and edge cases.

Coverage Analysis

@tdd-guide

Analyze test coverage for my TypeScript project. Coverage report: coverage/lcov.info

Identify gaps and provide prioritized recommendations.

TDD Workflow

@tdd-guide

Guide me through TDD for implementing a password validation function.

Requirements:
- Min 8 characters
- At least 1 uppercase, 1 lowercase, 1 number, 1 special char
- No common passwords

Multi-Framework Support

@tdd-guide

Convert these Jest tests to Pytest format:
[paste Jest tests]

Scripts

Core Modules

  • test_generator.py: Intelligent test case generation from requirements and code
  • coverage_analyzer.py: Parse and analyze coverage reports (LCOV, JSON, XML)
  • metrics_calculator.py: Calculate comprehensive test and code quality metrics
  • framework_adapter.py: Multi-framework adapter (Jest, Pytest, JUnit, Vitest)
  • tdd_workflow.py: Red-green-refactor workflow guidance and validation
  • fixture_generator.py: Generate realistic test data and fixtures
  • format_detector.py: Automatic language and framework detection

Utilities

  • complexity_analyzer.py: Cyclomatic and cognitive complexity analysis
  • test_quality_scorer.py: Test quality scoring (isolation, assertions, naming)
  • missing_test_detector.py: Identify untested paths and missing scenarios
  • output_formatter.py: Context-aware output formatting (Desktop vs CLI)

Best Practices

Test Generation

  1. Start with Requirements: Write tests from user stories before seeing implementation
  2. Test Behavior, Not Implementation: Focus on what code does, not how it does it
  3. One Assertion Focus: Each test should verify one specific behavior
  4. Descriptive Names: Test names should read like specifications

TDD Workflow

  1. Red: Write failing test first
  2. Green: Write minimal code to make it pass
  3. Refactor: Improve code while keeping tests green
  4. Repeat: Small iterations, frequent commits

Coverage Goals

  1. Aim for 80%+: Line coverage baseline for most projects
  2. 100% Critical Paths: Authentication, payments, data validation must be fully covered
  3. Branch Coverage Matters: Line coverage alone is insufficient
  4. Don't Game Metrics: Focus on meaningful tests, not coverage numbers

Test Quality

  1. Independent Tests: Each test should run in isolation
  2. Fast Execution: Keep unit tests under 100ms each
  3. Deterministic: Tests should always produce same results
  4. Clear Failures: Assertion messages should explain what went wrong

Framework Selection

  1. Jest: JavaScript/TypeScript projects (React, Node.js)
  2. Pytest: Python projects (Django, Flask, FastAPI)
  3. JUnit: Java projects (Spring, Android)
  4. Vitest: Modern Vite-based projects

Multi-Language Support

TypeScript/JavaScript

  • Frameworks: Jest, Vitest, Mocha, Jasmine
  • Runners: Node.js, Karma, Playwright
  • Coverage: Istanbul/nyc, c8

Python

  • Frameworks: Pytest, unittest, nose2
  • Runners: pytest, tox, nox
  • Coverage: coverage.py, pytest-cov

Java

  • Frameworks: JUnit 5, TestNG, Mockito
  • Runners: Maven Surefire, Gradle Test
  • Coverage: JaCoCo, Cobertura

Limitations

Scope

  • Unit Tests Focus: Primarily optimized for unit tests (integration tests require different patterns)
  • Static Analysis Only: Cannot execute tests or measure actual code behavior
  • Language Support: Best support for TypeScript, JavaScript, Python, Java (other languages limited)

Coverage Analysis

  • Report Dependency: Requires existing coverage reports (cannot generate coverage from scratch)
  • Format Support: LCOV, JSON, XML
Compartilhar X LinkedIn