Test Driven Development
Test Driven Development teaches the red-green-refactor discipline for writing code validated by tests before implementation. Learn when to apply TDD across feature work, bug fixes, and refactoring, plus how to design testable interfaces, mock at system boundaries, and avoid common pitfalls.
Test Driven Development guides you through red-green-refactor cycles and testable design for production code.
AI-generated summary based on this skill's SKILL.md
Install
oakoss/agent-skills/test-driven-development · repository language: Python
git clone https://github.com/oakoss/agent-skills
cp -r agent-skills ~/.claude/skills/test-driven-developmentgenerated, unverified - the skill's exact subdirectory could not be determined; check the repository on GitHub
Frequently asked questions
AI-generated answers based on this skill's SKILL.md and metadata
What is the red-green-refactor pattern in Test Driven Development?
Test Driven Development uses the red-green-refactor cycle as its core discipline. Red means writing a failing test first; green means writing minimal code to pass that test; refactor means improving the code while keeping tests passing. This cycle repeats for each feature, ensuring tests validate implementation before production code exists.
How do I write tests first in Test Driven Development?
Test Driven Development begins by writing a test that describes the desired behavior before any implementation code. The test fails initially (red phase). Then write the simplest code to make it pass (green phase). Finally, improve the code's design without changing behavior (refactor phase). This test-first approach ensures your code is testable and requirements are clear from the start.
When should I apply TDD to my development workflow?
Test Driven Development applies across feature work, bug fixes, and refactoring. Use TDD when building new functionality to ensure testable design. Apply it when fixing bugs by writing a test that reproduces the issue, then fixing code to pass. During refactoring, TDD's test suite validates that changes preserve behavior. Start with high-value areas and gradually expand TDD adoption.
What are key Test Driven Development best practices?
Test Driven Development best practices include designing testable interfaces, mocking at system boundaries to isolate units, writing focused tests for single behaviors, and avoiding common pitfalls like testing implementation details instead of contracts. Keep tests fast and independent, use descriptive test names, and maintain a high test-to-code ratio to catch regressions early.
How does Test Driven Development improve code quality?
Test Driven Development improves code quality by enforcing testable design upfront, reducing defects through continuous validation, and creating living documentation via tests. The test-first approach forces developers to think through requirements and edge cases before coding, leading to simpler, more maintainable implementations with fewer bugs reaching production.
What automated testing strategies does Test Driven Development use?
Test Driven Development employs unit testing as its primary automated testing strategy, validating individual components in isolation. It emphasizes fast feedback through quick test execution, uses mocking to control dependencies, and builds a regression suite that catches breaking changes. Integration and end-to-end tests complement unit tests for comprehensive coverage.