Back to skills
SKILL.md
Pytest Runner
ASecurityExecute and analyze pytest-based tests. Includes coverage reports, failure analysis, and fixture debugging.
- 14 stars
- 0 votes
- 0 copies
- 4 views
- Added June 6, 2026
Works with
Security analysis
100/100npx -y skills add excatt/superclaude-plusplus --skill pytest-runner --agent claude-codeAre you the author of Pytest Runner?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/excatt-pytest-runner)---
name: pytest-runner
description: Execute and analyze pytest-based tests. Includes coverage reports, failure analysis, and fixture debugging.
---
# Pytest Runner Skill
## Purpose
Execute and analyze tests for Python projects.
## When to Use
- **Auto-invoke** when test execution is requested
- Triggered by keywords: "run tests", "pytest", "test"
- Local test verification before CI/CD
## Execution Modes
### 1. Quick Test
```bash
pytest -x -q
# Stop at first failure, minimal output
```
### 2. Full Test with Coverage
```bash
pytest --cov=src --cov-report=term-missing --cov-report=html
# Full test suite + coverage report
```
### 3. Specific Test
```bash
pytest tests/test_api.py::test_create_user -v
# Run specific test only
```
### 4. Failed Only
```bash
pytest --lf
# Re-run only last failed tests
```
---
## Output Format
### All Pass
```
π§ͺ PYTEST RESULTS
=================
β
All tests passed!
π Summary:
Tests: 47 passed
Time: 3.2s
Coverage: 87%
π Coverage by Module:
src/api.py 92%
src/models.py 95%
src/utils.py 78% β οΈ
src/db.py 85%
```
### With Failures
```
π§ͺ PYTEST RESULTS
=================
β 3 tests failed
π Summary:
Tests: 44 passed, 3 failed
Time: 4.1s
π΄ Failures:
1. test_api.py::test_create_user_invalid_email
ββ Expected: ValidationError
ββ Got: None
π‘ Fix: Check email validation logic
π Location: src/api.py:45
2. test_db.py::test_connection_timeout
ββ Expected: TimeoutError after 5s
ββ Got: Hung indefinitely
π‘ Fix: Verify DB connection timeout setting
3. test_utils.py::test_parse_date
ββ Expected: datetime(2024, 1, 15)
ββ Got: ValueError
π‘ Fix: Check date format parsing logic
```
---
## Coverage Analysis
### Minimum Thresholds
```yaml
coverage:
minimum: 80% # Overall minimum
critical_paths:
- src/api.py: 90%
- src/auth.py: 95%
- src/models.py: 85%
```
### Uncovered Lines Report
```
π Uncovered Code:
src/utils.py (78% covered):
Lines 45-52: Error handling branch
Lines 78-85: Edge case for empty input
π‘ Tests needed:
- test_parse_with_empty_input()
- test_parse_with_invalid_format()
```
---
## Fixture Analysis
### Fixture Dependencies
```
π¦ Fixture Graph:
db_session
βββ test_user
βββ authenticated_client
βββ admin_client
β οΈ Warning: Deep fixture chain (4 levels)
β Verify test isolation
```
### Slow Fixtures
```
β±οΈ Slow Fixtures:
| Fixture | Avg Time | Usage |
|---------|----------|-------|
| db_session | 0.8s | 32 tests |
| redis_client | 0.5s | 12 tests |
| mock_api | 0.3s | 8 tests |
π‘ Optimization: Consider changing db_session to module scope
```
---
## Integration
```bash
# Pre-commit hook
pytest --co -q && pytest -x
# CI pipeline
pytest --cov --cov-fail-under=80 --junitxml=report.xml
# Watch mode (with pytest-watch)
ptw -- --lf
```
---
## Commands
| Command | Description |
|---------|-------------|
| `/pytest` | Run all tests |
| `/pytest --quick` | Quick test (-x -q) |
| `/pytest --cov` | Include coverage |
| `/pytest --failed` | Re-run failed only |
| `/pytest [path]` | Run specific path |
Attribution
Comments
Loading commentsβ¦
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.