Claude-night-market pytest-config
'Standardized pytest configuration for Claude Night Market plugin testing
install
source · Clone the upstream repo
git clone https://github.com/athola/claude-night-market
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/athola/claude-night-market "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/leyline/skills/pytest-config" ~/.claude/skills/athola-claude-night-market-pytest-config && rm -rf "$T"
manifest:
plugins/leyline/skills/pytest-config/SKILL.mdsource content
Table of Contents
Pytest Configuration Patterns
Standardized pytest configuration and patterns for consistent testing infrastructure across Claude Night Market plugins.
When To Use
- Setting up pytest configuration and fixtures
- Configuring conftest.py patterns for test infrastructure
When NOT To Use
- Non-Python projects or projects using other test frameworks
- Simple scripts that do not need test infrastructure
Quick Start
Basic pyproject.toml Configuration
[tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = [ "-v", "--cov=src", "--cov-report=term-missing", "--cov-fail-under=80", "--strict-markers", ] markers = [ "unit: marks tests as unit tests", "integration: marks tests as integration tests", "slow: marks tests as slow running", ] [tool.coverage.run] source = ["src"] omit = ["*/tests/*", "*/migrations/*", "*/__pycache__/*"] branch = true [tool.coverage.report] exclude_lines = [ "pragma: no cover", "def __repr__", "def __str__", "raise NotImplementedError", "if __name__ == .__main__.:", "if TYPE_CHECKING:", "class .*\\bProtocol\\):", "@(abc\\.)?abstractmethod", ] precision = 2 show_missing = true
Verification: Run
pytest --collect-only to verify discovery, pytest -v --co -q for markers, and pytest --cov for coverage thresholds.
Detailed Patterns
For detailed implementation patterns, see:
- Conftest Patterns - Conftest.py templates, fixtures, test markers, and directory structure
- Git Testing Fixtures - GitRepository helper class for testing git workflows
- Mock Fixtures - Mock tool fixtures for Bash, TodoWrite, and other Claude Code tools
- CI Integration - GitHub Actions workflows and test commands for automated testing
- Module Index: See
for module organization overviewmodules/README.md
Integration with Other Skills
This skill provides foundational patterns referenced by:
- Uses pytest configuration and fixturesparseltongue:python-testing
- Uses test quality standardspensive:test-review
- Uses conftest patterns and Git fixturessanctum:test-*
Reference in your skill's frontmatter:
dependencies: [leyline:pytest-config, leyline:testing-quality-standards]
Exit Criteria
- pytest configuration standardized across plugins
- conftest.py provides reusable fixtures
- test markers defined and documented
- coverage configuration enforces quality thresholds
- CI/CD integration configured for automated testing
Troubleshooting
Common Issues
Tests not discovered Ensure test files match pattern
test_*.py or *_test.py. Run pytest --collect-only to verify.
Import errors Check that the module being tested is in
PYTHONPATH or install with pip install -e .
Async tests failing Install pytest-asyncio and decorate test functions with
@pytest.mark.asyncio