Agent skill · software engineering · wshobson

python-testing-patterns

Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development. Use when writing Python tests, setting up test suites, or implementing testing best practices.

Why this skill is useful

Provides detailed patterns and best practices for implementing testing strategies in Python that the AI wouldn't reliably generate on its own.

What it needs

Requires pytest installed locally. About 3k tokens when loaded. Last updated 2026-08-05. 38,570 stars on the source repository.

What this skill does

Python Testing Patterns Comprehensive guide to implementing robust testing strategies in Python using pytest, fixtures, mocking, parameterization, and test-driven development practices. When to Use This Skill Writing unit tests for Python code Setting up test suites and test infrastructure Implementing test-driven development (TDD) Creating integration tests for APIs and services Mocking external dependencies and services Testing async code and concurrent operations Setting up continuous testing in CI/CD Implementing property-based testing Testing database operations Debugging failing tests Core Concepts 1. Test Types Unit Tests: Test individual functions/classes in isolation Integration Tests: Test interaction between components Functional Tests: Test complete features end-to-end Performance Tests: Measure speed and resource usage 2. Test Structure (AAA Pattern) Arrange: Set up test data and preconditions Act: Execute the code under test Assert: Verify the results 3. Test Coverage Measure what code is exercised by tests Identify untested code paths Aim for meaningful coverage, not just high percentages 4. Test Isolation Tests should be independent No shared state between tests Each test should clean up after itself Quick Start Detailed patterns and worked examples Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient. Testing Best Practices Test Organization Test Naming Convention A common pattern: test<unit><scenario><expectedoutcome>. Adapt to your team's preferences. Testing Retry Behavior Verify that retry logic works correctly using mock side effects. Mocking Time with Freezegun Use freezegun to control time in tests for predictable time-dependent behavior. Test Markers Coverage Reporting For advanced patterns (async testing, monkeypatching, property-based testing, database testing, CI/CD integration, and configuration), see references/advanced-patterns.md

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills wshobson/python-testing-patterns

View the source on GitHub

Browse the @skills marketplace