python-testing
SKILL.md
Python Testing Hub
Testing standards for pytest configuration, fixture management, and TDD implementation.
Table of Contents
Quick Start
- Dependencies:
pip install pytest pytest-cov pytest-asyncio pytest-mock - Configuration: Add the following to
pyproject.toml:[tool.pytest.ini_options] testpaths = ["tests"] addopts = "--cov=src" - Verification: Run
pytestto confirm discovery of files matchingtest_*.py.
When To Use
- Constructing unit and integration tests for Python 3.9+ projects.
- Isolating external dependencies using
pytest-mockor custom monkeypatching. - Validating asynchronous logic with
pytest-asynciomarkers 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
- 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.pymanagement, 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_*.pypattern. Usepytest --collect-onlyto 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-asynciois installed and that async tests use the@pytest.mark.asynciodecorator or corresponding auto-mode configuration.
Weekly Installs
14
Repository
athola/claude-n…t-marketGitHub Stars
214
First Seen
Feb 27, 2026
Security Audits
Installed on
opencode14
gemini-cli14
github-copilot14
codex14
kimi-cli14
amp14