Fake-Driven Testing for Python
Implements a defense-in-depth, fake-driven testing strategy for Python applications to improve test speed and reliability.
The source repository doesn't declare a license. Check its terms before reusing the code.
Key features
- Includes step-by-step TDD workflows for features and bug fixes
- Defines a five-layer, defense-in-depth testing strategy
- Lists common testing patterns and anti-patterns to avoid brittle tests
- Provides architectural patterns for gateway layers (ABC/Real/Fake)
- Offers decision trees to determine the correct location for new tests
Use cases
- Structuring the testing suite for a new Python project
- Refactoring a slow or brittle test suite to improve speed and reliability
- Adding a new feature or fixing a bug following Test-Driven Development (TDD) principles
FAQ
What does this skill do?
This skill implements a structured, five-layer 'defense-in-depth' testing strategy for Python. It prioritizes testing your business logic against fast in-memory 'fakes' to dramatically improve test suite speed and reliability.
What capabilities does it provide?
It includes a defined five-layer testing model, architectural patterns for creating robust 'gateway' interfaces (ABC/Real/Fake), workflows for features and bug fixes, and a comprehensive list of common testing patterns and anti-patterns to avoid.
How does this skill improve my workflow?
It provides clear decision trees, step-by-step TDD workflows, and reusable architectural patterns. This speeds up development by reducing brittle tests and ensuring the majority of your test suite runs in milliseconds, not seconds.
When should I use this skill?
Use this skill whenever you are writing tests, adding new features with Test-Driven Development (TDD), fixing a bug, or designing the testing architecture for a Python application. It provides clear guidance on where each type of test should go.
Related skills
Backend Python Standards
Enforces professional Python backend standards using uv for package management, pytest for testing, and ruff for code quality.
Developer Tools21312 ptsDignified Python 3.12 Standards
Enforces high-quality Python 3.12 coding standards, including modern type syntax, robust error handling, and clear API design principles.
Developer Tools2912 ptsDignified Python 3.11 Standards
Writes, reviews, and refactors Python 3.11 code to meet high standards for clarity, robustness, and maintainability.
Developer Tools2912 pts