Skip to main content
AI/MLathola

python-testing

Python testing patterns with pytest, fixtures, TDD, mocking, async and integration tests. Use when writing or auditing a Python test suite.

Stars
294
Source
athola/claude-night-market
Updated
2026-05-30
Slug
athola--claude-night-market--python-testing
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/athola/claude-night-market/HEAD/plugins/parseltongue/skills/python-testing/SKILL.md -o .claude/skills/python-testing.md

Drops the SKILL.md into .claude/skills/python-testing.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Python Testing Hub

Testing standards for pytest configuration, fixture management, and TDD implementation.

Table of Contents

  1. Quick Start
  2. When to Use
  3. Modules

Quick Start

  1. Dependencies: pip install pytest pytest-cov pytest-asyncio pytest-mock
  2. Configuration: Add the following to pyproject.toml:
    [tool.pytest.ini_options]
    testpaths = ["tests"]
    addopts = "--cov=src"
    
  3. Verification: Run pytest to confirm discovery of files matching test_*.py.

When To Use

  • Constructing unit and integration tests for Python 3.9+ projects.
  • Isolating external dependencies using pytest-mock or custom monkeypatching.
  • Validating asynchronous logic with pytest-asyncio markers and event loop management.
  • Configuring project-wide coverage thresholds and reporting.

When NOT To Use

  • Evaluating test quality - use pensive:test-review instead
  • Infrastructure test config - use leyline:pytest-config

Modules

This skill uses modular loading to manage the system prompt budget.

Core Implementation

  • See modules/unit-testing.md - AAA (Arrange-Act-Assert) pattern, basic test structure, and exception validation.
  • See modules/fixtures-and-mocking.md - Request-scoped fixtures, parameterization, and boundary mocking.
  • See modules/async-testing.md - Coroutine testing, async fixtures, and concurrency validation.

Infrastructure & Workflow

  • See modules/test-infrastructure.md - Directory standards, conftest.py management, and coverage tools.
  • See modules/testing-workflows.md - Local execution patterns and GitHub Actions integration.

Standards

  • See modules/test-quality.md - Identification of common anti-patterns like broad exception catching or shared state between tests.

Exit Criteria

  • Tests implement the AAA pattern.
  • Coverage reaches the 80% project minimum.
  • Individual tests are independent and do not rely on execution order.
  • Fixtures are scoped appropriately (function, class, or session) to prevent side effects.
  • Mocking is restricted to external system boundaries.

Troubleshooting

  • Test Discovery: Verify filenames match the test_*.py pattern. Use pytest --collect-only to debug discovery paths.
  • Import Errors: Ensure the local source directory is in the path, typically by installing in editable mode with pip install -e ..
  • Async Failures: Confirm that pytest-asyncio is installed and that async tests use the @pytest.mark.asyncio decorator or corresponding auto-mode configuration.