Skip to main content

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

  1. Analyze a single test file:

    pytest-test-analyzer --path "tests/test_login.py" --output login_analysis.html --format html
    
  2. Analyze multiple specific test files:

    pytest-test-analyzer --path "tests/test_login.py" "tests/test_registration.py" --output auth_analysis.html
    
  3. Analyze test files with specific patterns:

    pytest-test-analyzer --path "tests/test_*_api.py" --output api_analysis.html
    

Analyzing Test Directories

  1. Analyze a single test directory:

    pytest-test-analyzer --path ./tests --output report.html --format html
    
  2. Analyze multiple test directories:

    pytest-test-analyzer --path ./tests ./integration_tests --output report.html
    
  3. Analyze nested test directories:

    pytest-test-analyzer --path ./tests/unit ./tests/integration --output nested_analysis.html
    

Filtering Tests

  1. Include only tests with specific decorators:

    pytest-test-analyzer --path ./tests --include pytest.mark.sanity pytest.mark.regression
    
  2. Exclude tests with specific decorators:

    pytest-test-analyzer --path ./tests --exclude pytest.mark.skip pytest.mark.xfail
    
  3. Combine file and decorator filters:

    pytest-test-analyzer --path "tests/test_api.py" --include pytest.mark.smoke --output api_smoke.html
    

Output Formats

  1. Generate a markdown report:

    pytest-test-analyzer --path ./tests --output report.md --format md
    
  2. Generate a text report:

    pytest-test-analyzer --path ./tests --output report.txt --format txt
    
  3. 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.

Metadata

Release files for pytest-test-analyzer 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytest-test-analyzer 0.1.1
File Size Uploaded
pytest_test_analyzer-0.1.1.tar.gz 36.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytest-test-analyzer 0.1.1
File Interpreter ABI Platform
pytest_test_analyzer-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 68.2 kB

Release files / pytest_test_analyzer-0.1.1.tar.gz

Download URL pytest_test_analyzer-0.1.1.tar.gz
Size 36.5 kB
Tags Source
SHA-256 checksum
How to use checksums
7b11b757f2f431b0536d264d555cb5439db7878678e5cc73f528ce9c13599fd9
BLAKE2b-256 checksum
How to use checksums
a3d6f924e38d4ab603ac7d4d444c51bf264f7d23d530d13bbfc9689cd1cc5cf2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / pytest_test_analyzer-0.1.1-py3-none-any.whl

Download URL pytest_test_analyzer-0.1.1-py3-none-any.whl
Size 31.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
800007eb336cc7309e51eb459ff339db48aa4dccab0e95c4daaf38326c423c88
BLAKE2b-256 checksum
How to use checksums
be6fb6e3bddc1899835cd91244e8635e478ebdcccd8db60ad5d2a104bc9e6a95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page