Last updated:
0 purchases
pytestexceptional 0.1.1
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.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.