Unnamed Skill
Python testing with pytest, fixtures, mocking, and TDD workflows.Triggers: pytest, unit tests, test fixtures, mocking, TDD, test suite, coverage,test-driven development, testing patterns, parameterized testsUse when: writing unit tests, setting up test suites, implementing TDD,configuring pytest, creating fixtures, async testingDO NOT use when: evaluating test quality - use pensive:test-review instead.DO NOT use when: infrastructure test config - use leyline:pytest-config.Consult this skill for Python testing implementation and patterns.
$ Installer
git clone https://github.com/athola/claude-night-market /tmp/claude-night-market && cp -r /tmp/claude-night-market/plugins/parseltongue/skills/python-testing ~/.claude/skills/claude-night-market// tip: Run this command in your terminal to install the skill
name: python-testing description: |
Triggers: quality-assurance, test-automation, pytest, testing, python Python testing with pytest, fixtures, mocking, and TDD workflows.
Triggers: pytest, unit tests, test fixtures, mocking, TDD, test suite, coverage, test-driven development, testing patterns, parameterized tests, unittest replacement, test coverage, pytest fixtures, async testing, test automation, pytest marks, test mocking, pytest plugins, integration tests, test discovery
Use when: writing unit tests, setting up test suites, implementing TDD, configuring pytest, creating fixtures, async testing, writing integration tests, mocking dependencies, parameterizing tests, setting up CI/CD testing
DO NOT use when: evaluating test quality - use pensive:test-review instead. DO NOT use when: infrastructure test config - use leyline:pytest-config.
Consult this skill for Python testing implementation and patterns. category: testing tags: [python, testing, pytest, tdd, test-automation, quality-assurance] tools: [test-analyzer, coverage-reporter, test-runner] usage_patterns:
- testing-implementation
- test-suite-setup
- test-refactoring
- ci-cd-integration complexity: intermediate estimated_tokens: 900 progressive_loading: true modules:
- unit-testing
- fixtures-and-mocking
- test-infrastructure
- testing-workflows
- test-quality
- async-testing
Table of Contents
- Quick Start
- When to Use
- Modules
- Core Testing
- Infrastructure & Workflow
- Quality
- Progressive Loading
- Exit Criteria
Python Testing Hub
Testing patterns for pytest, fixtures, mocking, and TDD.
Quick Start
-
Install pytest and dependencies:
pip install pytest pytest-cov pytest-asyncio pytest-mockVerification: Run
pytest -v pytest-covto verify. -
Configure project - Add to
pyproject.toml:[tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] addopts = "--cov=src --cov-report=html"Verification: Run
pytest -vto verify tests pass. -
Create first test - In
tests/test_example.py:def test_basic(): assert 1 + 1 == 2Verification: Run
pytest -vto verify tests pass. -
Run tests with coverage:
pytest --cov=src --cov-report=htmlVerification: Run
pytest -v --cov=srcto verify.
When to Use
- Writing unit tests for Python code
- Setting up test suites and infrastructure
- Implementing test-driven development (TDD)
- Creating integration tests for APIs and services
- Mocking external dependencies and services
- Testing async code and concurrent operations
Modules
This skill provides focused modules for different testing aspects:
Core Testing
- unit-testing - Fundamental unit testing patterns with pytest including AAA pattern, basic test structure, and exception testing
- fixtures-and-mocking - Advanced pytest fixtures, parameterized tests, and mocking patterns for external dependencies
- async-testing - Testing asynchronous Python code with pytest-asyncio including async fixtures and concurrent operation testing
Infrastructure & Workflow
- test-infrastructure - Project configuration for pytest including pyproject.toml setup, test directory structure, and coverage configuration
- testing-workflows - Running tests, CI/CD integration, and automated testing workflows
Quality
- test-quality - Best practices, anti-patterns to avoid, and quality criteria for Python tests
Progressive Loading
Load modules based on project requirements:
- Start with
unit-testingfor fundamental patterns - Add
fixtures-and-mockingfor advanced test setup - Include
test-infrastructurewhen setting up new projects - Use
testing-workflowsfor CI/CD integration - Reference
test-qualityfor best practices - Apply
async-testingfor asynchronous code
Exit Criteria
- Tests follow AAA pattern
- Coverage meets project threshold (≥80%)
- All tests independent and reproducible
- CI/CD integration configured
- Clear test naming and organization
- No anti-patterns present
- Fixtures used appropriately
- Mocking only at boundaries
Troubleshooting
Common Issues
If tests are not discovered, verify that the test files follow the naming pattern test_*.py or *_test.py. You can run pytest --collect-only to confirm which tests are being identified by the runner. For import errors, confirm that the module under test is in your PYTHONPATH or install it in editable mode using pip install -e .. When async tests fail, verify that pytest-asyncio is installed and that the test functions are correctly decorated with @pytest.mark.asyncio.
Repository
