pytest-exceptional 0.1.1

Last updated:

0 purchases

pytest-exceptional 0.1.1 Image
pytest-exceptional 0.1.1 Images
Add to Cart

Description:

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.

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.