What problem does it solve? Writing consistent, maintainable Python tests requires knowing when and how to use mocks, stubs, spies, and patches. Without clear conventions, tests become brittle, mocks silently accept typos, and test data setup gets duplicated across files. ## Core Features & Use Cases - Test Double Patterns: Standardized usage of Mock, AsyncMock, return_value, side_effect, wraps, and patch for replacing dependencies in tests. - Verification Recipes: Assertion patterns for call counts, arguments, awaited calls, and not-called checks, including async verification with assert_awaited. - Mother Pattern Factories: Reusable factory classes for building complex test data objects with sensible defaults. - Use Case: When writing a pytest suite for a service that calls AWS SSM via boto3, use this Skill to patch boto3.client, stub get_parameter responses, simulate ClientError failures, and verify interactions. ## Quick Start Write a pytest test for my class that mocks its ISecretProvider dependency with spec, stubs the get_secret return value, and verifies the call.