A powerful tool for analyzing pytest test files and generating detailed reports
Project description
pytest-test-analyzer
A powerful Python tool that analyzes pytest test files and generates comprehensive reports. Get deep insights into your test suite by analyzing test structure, decorator patterns, and test organization. Perfect for understanding and maintaining large test suites, tracking test coverage patterns, and identifying areas for test optimization.
Features
- 🔍 Analyzes pytest test files and directories
- 📊 Generates detailed statistics about test cases
- 🏷️ Tracks pytest markers and decorators
- 📝 Supports multiple output formats (HTML, Markdown, Text)
- 🎯 Filter tests by decorators
- 📈 Provides class-wise and marker-wise statistics
- 🎨 Beautiful HTML reports with charts
Installation
pip install pytest-test-analyzer
Usage
Basic Usage
Analyze a test directory and generate an HTML report:
pytest-test-analyzer --path "path/to/tests" --output report.html --format html
Command Line Options
pytest-test-analyzer --path PATH [--output OUTPUT] [--format FORMAT] [--include INCLUDE] [--exclude EXCLUDE]
--path: Path(s) to Python test files or directories (required)--output: Output file path--format: Output format - txt, html, or md (default: html)--include: Include only tests with specific decorators--exclude: Exclude tests with specific decorators
Examples
Analyzing Test Files
-
Analyze a single test file:
pytest-test-analyzer --path "tests/test_login.py" --output login_analysis.html --format html
-
Analyze multiple specific test files:
pytest-test-analyzer --path "tests/test_login.py" "tests/test_registration.py" --output auth_analysis.html
-
Analyze test files with specific patterns:
pytest-test-analyzer --path "tests/test_*_api.py" --output api_analysis.html
Analyzing Test Directories
-
Analyze a single test directory:
pytest-test-analyzer --path ./tests --output report.html --format html
-
Analyze multiple test directories:
pytest-test-analyzer --path ./tests ./integration_tests --output report.html
-
Analyze nested test directories:
pytest-test-analyzer --path ./tests/unit ./tests/integration --output nested_analysis.html
Filtering Tests
-
Include only tests with specific decorators:
pytest-test-analyzer --path ./tests --include pytest.mark.sanity pytest.mark.regression
-
Exclude tests with specific decorators:
pytest-test-analyzer --path ./tests --exclude pytest.mark.skip pytest.mark.xfail
-
Combine file and decorator filters:
pytest-test-analyzer --path "tests/test_api.py" --include pytest.mark.smoke --output api_smoke.html
Output Formats
-
Generate a markdown report:
pytest-test-analyzer --path ./tests --output report.md --format md
-
Generate a text report:
pytest-test-analyzer --path ./tests --output report.txt --format txt
-
Generate HTML report with custom name:
pytest-test-analyzer --path ./tests --output custom_name.html --format html
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
If you encounter any issues or have questions, please open an issue on GitHub.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pytest_test_analyzer-0.1.1.tar.gz.
File metadata
- Download URL: pytest_test_analyzer-0.1.1.tar.gz
- Upload date:
- Size: 36.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b11b757f2f431b0536d264d555cb5439db7878678e5cc73f528ce9c13599fd9
|
|
| MD5 |
3a140b1f4e52591e0b276af88827bf55
|
|
| BLAKE2b-256 |
a3d6f924e38d4ab603ac7d4d444c51bf264f7d23d530d13bbfc9689cd1cc5cf2
|
File details
Details for the file pytest_test_analyzer-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pytest_test_analyzer-0.1.1-py3-none-any.whl
- Upload date:
- Size: 31.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
800007eb336cc7309e51eb459ff339db48aa4dccab0e95c4daaf38326c423c88
|
|
| MD5 |
b3d4c71bdeadeab17199068460881083
|
|
| BLAKE2b-256 |
be6fb6e3bddc1899835cd91244e8635e478ebdcccd8db60ad5d2a104bc9e6a95
|