record pytest session characteristics per test item (coverage and duration) into a persistent file and use them in your own plugin or script.
Project description
pytest_donde
pytest_donde
dumps per-test-item coverage and duration into a persistent record file and offers an API to access this record in your plugins or scripts.
details
create persistent record
python -m pytest --donde=/path/to/src
This creates a donde.json
record file with the following information for every test item:
- run duration (sec),
- covered lines of code w.r.t.
/path/to/src
by wrapping pytest-cov
, evaluating its output, and putting this together with collected test item durations.
access record
from pytest_donde import Record
record = Record.from_file('donde.json')
A demo example (which is trivial, because it uses only durations, not coverage):
class PluginPreferFastest:
def __init__(self, path_input):
self.record = Record.from_file(path_input)
def pytest_collection_modifyitems(self, items):
def key(item):
try:
return self.record.nodeid_to_duration[item.nodeid]
except KeyError:
# test is unknown to the donde.json record,
# possibly it was skipped there or was added after the record was made
# we prefer it to run at the beginning
return 0.0
items[:] = sorted(items, key=key)
install
python -m pip install pytest-donde
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
pytest_donde-1.1.0.tar.gz
(8.8 kB
view hashes)
Built Distribution
Close
Hashes for pytest_donde-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cc22865959ba5530b8d6b9782ff50385542e8122f083ffe75a6c02e075c1792 |
|
MD5 | 11435add9048e4576b2914402a5b9f39 |
|
BLAKE2b-256 | bf47ab419d66c4ff57f1435dba06581e79b9049007897e337e6572c2cbcabd3a |