Better exceptions
Project description
Better pytest Exceptions
This plugin attempts to make richer pytest exceptions a snap to write. For example, consider the following exception:
class StartFire(pytest.Exception):
__teststatus__ = 'fire', '🔥', ('FIRE', {'purple': True, 'bold': True})
def toterminal(self, longrepr, tw):
tw.line("FIRE! Please evacuate the building!")
longrepr.toterminal(tw)
def summary_header(self, header):
return "Fire started during {}".format(header)
When this specific exception class is thrown, the pretty printing and result categorization is now in the hands of the exception, making it more straightforward than writing special purpose plugins.:
============================= test session starts ============================== platform linux -- Python 3.6.0, pytest-3.0.7, py-1.4.32, pluggy-0.4.0 cachedir: .cache rootdir: /home/simon/src/pytest-exceptional, inifile: plugins: exceptional-0.1.0 collected 1 items tests/test_fail_test.py::test_fire FIRE ________________________ Fire started during test_fire _________________________ FIRE! Please evacuate the building! def test_fire(): > raise StartFire('There is a fire') E test_fail_test.StartFire: There is a fire tests/test_fail_test.py:47: StartFire ============================ 1 fire in 0.02 seconds ============================
TODO
Provide more control over formatting and presentation without making the API too cumbersome. Still very much an early prototype and probably not close to a stable API.
Installation
You can install “pytest-exceptional” via pip from PyPI:
$ pip install pytest-exceptional
Contributing
Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.
License
Distributed under the terms of the MIT license, “pytest-exceptional” is free and open source software
Issues
If you encounter any problems, please file an issue along with a detailed description.
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
File details
Details for the file pytest-exceptional-0.1.0.tar.gz
.
File metadata
- Download URL: pytest-exceptional-0.1.0.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f30750b103100eb2cf1bd75fcae5136b64ace9ecf62aa567a44af28d8f02cc2 |
|
MD5 | 3428f186df5dd5c17ab14f25d0dd62f7 |
|
BLAKE2b-256 | 240c7a002c5a9a502e5b61dbea4135c995793474d3559040934cb5d29598723c |