askill
tdd

tddSafety 100Repository

Test-Driven Development methodology and patterns. Triggers on: "tdd", "test first", "write tests", "failing test", "red green refactor", "test driven", "test before", "coverage", "unit test", "feature test", "widget test". Provides TDD patterns for Laravel (PHPUnit/Pest), Flutter, and Vue (Vitest/Jest).

3 stars
1.2k downloads
Updated 1/26/2026

Package Files

Loading files...
SKILL.md

Test-Driven Development Skill

Guidelines for effective Test-Driven Development.

TDD Philosophy

"Write a failing test before you write the code that makes it pass."

  • Kent Beck

The TDD Cycle

    ┌─────────┐
    │   RED   │  Write failing test
    └────┬────┘
         │
    ┌────▼────┐
    │  GREEN  │  Write minimal code to pass
    └────┬────┘
         │
    ┌────▼────┐
    │REFACTOR │  Clean up, keep tests green
    └────┬────┘
         │
         └──────► Repeat

RED Phase

Goal

Write a test that FAILS because the code does not exist yet.

Rules

  • Test expresses expected behavior
  • Test is focused on ONE thing
  • Test has meaningful assertions
  • Test MUST fail when run

If Test Passes in RED

Something is wrong:

  • Code may already exist
  • Test may be incorrectly written
  • Test may not be testing what you think

Investigate before proceeding.

GREEN Phase

Goal

Write the MINIMUM code to make the test pass.

Rules

  • Only write enough to pass the test
  • No optimization
  • No additional features
  • No "while I'm here" changes
  • Ugly code is OK

Mantra

"Make it work, make it right, make it fast." (We're in "make it work" phase)

REFACTOR Phase

Goal

Improve code quality while keeping tests green.

Rules

  • Run tests after EVERY change
  • Small, incremental improvements
  • Revert if tests fail
  • Stop when code is clean enough

Common Refactorings

  • Extract method/function
  • Rename for clarity
  • Remove duplication
  • Apply design patterns
  • Add documentation

Framework-Specific Guides

When to Use TDD

Always Use TDD For

  • Business logic
  • Data transformations
  • Validation rules
  • API endpoints
  • Services

Consider Skipping TDD For

  • Simple CRUD (test at integration level)
  • Configuration code
  • Boilerplate/scaffolding
  • UI-only changes (use manual testing)

Test Types

TypeTestsSpeedConfidence
UnitSingle class/functionFastLow
IntegrationMultiple componentsMediumMedium
Feature/E2EFull flowSlowHigh

Test Pyramid

        /\
       /  \      E2E Tests (few)
      /----\
     /      \    Integration Tests (some)
    /--------\
   /          \  Unit Tests (many)
  /____________\

Coverage Targets

AreaMinimumTarget
Business Logic90%100%
Services85%95%
Controllers80%90%
UI Components70%85%

Anti-Patterns

Test After

Writing tests after implementation - you lose the design benefits of TDD.

Testing Implementation

Testing HOW code works instead of WHAT it does.

Over-Mocking

Mocking everything - you're testing your mocks, not your code.

Giant Tests

Tests that test too much - hard to debug when they fail.

Flaky Tests

Tests that sometimes pass, sometimes fail - erode trust in test suite.

Quick Reference

RED Phase Checklist

  • Test has descriptive name
  • Test is focused on ONE behavior
  • Test has clear assertion
  • Test FAILS when run

GREEN Phase Checklist

  • Code is minimal
  • No extra features
  • Test PASSES
  • No new tests written

REFACTOR Phase Checklist

  • Code is cleaner
  • Tests still PASS
  • No behavior changed
  • Ready for next cycle

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

85/100Analyzed 2/13/2026

A comprehensive guide to the Test-Driven Development (TDD) methodology, featuring clear phases, checklists, anti-patterns, and coverage targets. While it delegates framework-specific syntax to referenced files, the process definitions are highly structured and readable.

100
95
90
85
75

Metadata

Licenseunknown
Version-
Updated1/26/2026
Publisheranilcancakir

Tags

apitesting