No project description provided
Project description
pytest-publish
pytest-publish is a simple pytest plugin for publishing test results mid-session.
Useful for live applications running on top of pytest (UI, logstash, etc).
Usage
There are 2 switches which can be turned on, each run every time a test has finished running:
--publish <url>
to publish JSON reports to REST API.--pubdir <path>
to write results to filesystem.
--publish
Run test like this:
$ pytest --publish http://localhost:7777/test-update
On each test result, an HTTP POST request with the following JSON data will be submitted:
# from pytest_publish.py
@dataclass_json
@dataclass
class TestResult:
@dataclass_json
@dataclass
class ExcInfo:
type: str
value: str
traceback: list[str]
type: str
result: str # "pass", "skip", "fail"
nodeid: str
start_time: float
stop_time: float
duration: float
stdout: str
stderr: str
log: str
xdist_dist: str | None # only with xdist
xdist_worker: str | None # only with xdist
xdist_scope: str | None # only with xdist
excinfo: ExcInfo | None = None # only if "skip" or "fail"
--pubdir
Run test like this:
$ pytest --pubdir /tmp/a
On each test result, the following directory tree will be created:
/tmp/a
/tmp/a/test_a
/tmp/a/test_a/.lock
/tmp/a/test_a/count
/tmp/a/test_a/0.pass # <index>.<result>
/tmp/a/test_a/0.pass/brief.txt # textual description of result
/tmp/a/test_a/0.pass/result.json # same data as --publish
/tmp/a/test_a/0.pass/exception.txt # only if "skip" or "fail"
/tmp/a/test_a/0.pass/stdout.txt # only if any stdout
/tmp/a/test_a/0.pass/stderr.txt # only if any stderr
/tmp/a/test_a/0.pass/log.txt # only if any logs
NOTE: If xdist's --dist loadgroup
is run with xdist, the directory tree will look like this:
/tmp/a/<scope>
/tmp/a/<scope>/<test_name>
/tmp/a/<scope>/<test_name>/count
Notice the addition of the <scope>
to the directory tree above.
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
File details
Details for the file pytest_publish-1.2.0.tar.gz
.
File metadata
- Download URL: pytest_publish-1.2.0.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.2 Darwin/20.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
2786338d7864d85548b00da57ec113ca90cb7cd6d7836d0a6d6180a83bbbf53e
|
|
MD5 |
5b3609f61c5ccbda49efa407fa86c6d7
|
|
BLAKE2b-256 |
1e558a774fecce4ceb39a0f9323e301ac7ec76519c78cab545c7dbb68585e068
|
File details
Details for the file pytest_publish-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: pytest_publish-1.2.0-py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.2 Darwin/20.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
f7a86b0912b038fa470abf006ad3655f134bb0244097c2ff0d25ba65df5b9d1a
|
|
MD5 |
8b5f0f85900c8047f6c397ef148a4a89
|
|
BLAKE2b-256 |
edb5241ac7c5ec5297ac388648c276054f33e3ba95367338510569a8323a6288
|