Browse / Developer Tools / Fake-Driven Testing for Python

Fake-Driven Testing for Python

Implements a defense-in-depth, fake-driven testing strategy for Python applications to improve test speed and reliability.

SkillDeveloper ToolsLanguage Python

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.