Skip to main content

pytest-reqcov

A pytest plugin for requirement coverage tracking.

Features

  • Track test coverage against requirements and products
  • Integrate with pytest workflow

Installation

Install from PyPI:

pip install pytest-reqcov

Usage

Add requirement markers to your tests:

import pytest

@pytest.mark.req(id="REQ-001")
def test_user_login():
    """Test user login functionality."""
    assert login_user("user", "password") == True

@pytest.mark.product(id="ProductA")
def test_user_logout():
    """Test user logout functionality."""
    assert logout_user() == True

Run pytest with requirement coverage:

pytest --reqcov-reqs=requirements.csv --reqcov-prods=products.csv  --reqcov-output=output.csv

Merging Multiple Coverage Reports

When running tests across multiple test suites or environments, you can merge the generated coverage reports using the reqcov-merge command:

# Merge multiple output files
reqcov-merge output1.csv output2.csv output3.csv -o merged_output.csv

# Merge with verbose output
reqcov-merge output1.csv output2.csv -o merged_output.csv --verbose

The merge script applies the AND operator for status determination:

  • If all tests for a requirement/product are PASSED, the merged status is PASSED
  • If any test for a requirement/product is FAILED, the merged status is FAILED
  • Tests from multiple files are combined into a comma-separated list

Example merge scenario:

# output1.csv
item;type;status;tests
REQ001;requirement;PASSED;test_req_1
Product_A;product;PASSED;test_product_a1

# output2.csv
item;type;status;tests
REQ001;requirement;FAILED;test_req_2
Product_A;product;PASSED;test_product_a2

# merged_output.csv (result)
item;type;status;tests
REQ001;requirement;FAILED;test_req_1,test_req_2
Product_A;product;PASSED;test_product_a1,test_product_a2

Configuration

Add configuration to your pytest.ini or pyproject.toml:

[tool.pytest.ini_options]
markers = [
    "req: tests with associated requirements",
    "product: tests with associated product",
]

License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for pytest-reqcov 0.2.0

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-reqcov 0.2.0
File Size Uploaded
pytest_reqcov-0.2.0.tar.gz 9.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytest-reqcov 0.2.0
File Interpreter ABI Platform
pytest_reqcov-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.7 kB

Release files / pytest_reqcov-0.2.0.tar.gz

Download URL pytest_reqcov-0.2.0.tar.gz
Size 9.2 kB
Tags Source
SHA-256 checksum
How to use checksums
fc4fbec15cb960d5516c88e8a3aa9613671fcd0e868081bb8ffcb3640991bb6f
BLAKE2b-256 checksum
How to use checksums
00755afc092dfad9a683ad011924bb88187316b8e49e39578b7f4c7375af4b6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 4, 2025.

Transparency log

Release files / pytest_reqcov-0.2.0-py3-none-any.whl

Download URL pytest_reqcov-0.2.0-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c678bececdefd5b05ee2366b6c44f7b0d1f1be0e4405116c0b375298cc982f15
BLAKE2b-256 checksum
How to use checksums
bcce03460c771a8fbfe354035ebbc37b66013c408159d0a181f7a119eca72ab5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 4, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 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