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 isPASSED - If any test for a requirement/product is
FAILED, the merged status isFAILED - 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)
| File | Size | Uploaded | |
|---|---|---|---|
| pytest_reqcov-0.2.0.tar.gz | 9.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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