Better testing with expecter and pytest.
Project description
pytest-expecter
This is a fork of garybernhardt/expecter that hides the internal stack trace for pytest.
Overview
This lets you write tests (using ropez/pytest-describe) like this:
from expecter import expect
def describe_foobar():
def it_can_pass():
expect(2 + 3) == 5
def it_can_fail():
expect(2 + 3) == 6
and instead of getting output like this:
=================================== FAILURES ===================================
_________________________ describe_foobar.it_can_fail __________________________
def it_can_fail():
> expect(2 + 3) == 6
test_foobar.py:14:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = expect(5), other = 6
def __eq__(self, other):
msg = 'Expected %s but got %s' % (repr(other), repr(self._actual))
if (isinstance(other, basestring) and
isinstance(self._actual, basestring)):
msg += normalized_diff(other, self._actual)
elif len(repr(self._actual)) > 74:
msg += normalized_diff(pprint.pformat(other),
pprint.pformat(self._actual))
> assert self._actual == other, msg
E AssertionError: Expected 6 but got 5
env/lib/python3.5/site-packages/expecter.py:57: AssertionError
====================== 1 failed, 1 passed in 2.67 seconds ======================
getting output like this:
=================================== FAILURES ===================================
_________________________ describe_foobar.it_can_fail __________________________
def it_can_fail():
> expect(2 + 3) == 6
E AssertionError: Expected 6 but got 5
test_foobar.py:14: AssertionError
====================== 1 failed, 1 passed in 2.67 seconds ======================
Installation
pip install pytest-expecter
Revision History
1.1 (unreleased)
Add expect fixture to use directly in tests.
1.0 (2017/12/03)
Initial stable release.
0.2.2.post7 (2017/12/02)
Added automatic conversion from OrderedDict to dict on Python 3.6 to create readable diffs.
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-expecter-1.1b1.tar.gz
(8.9 kB
view details)
Built Distribution
File details
Details for the file pytest-expecter-1.1b1.tar.gz
.
File metadata
- Download URL: pytest-expecter-1.1b1.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a0c06d0351b9fc46cc9558df3d15dc00c6e7e220275e1c310a1c9927fff191c |
|
MD5 | 807a717c770974893a13c1cf3fabbe21 |
|
BLAKE2b-256 | 2cce921a498761b31205316322e9168b1d9cac20fb4f7f6d255603030e8bb13f |
File details
Details for the file pytest_expecter-1.1b1-py2-none-any.whl
.
File metadata
- Download URL: pytest_expecter-1.1b1-py2-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b842ac7d266f619721e05e4cd5b509b8aa431c68598692990c000a98e5b893d |
|
MD5 | c4b7599f316a267a30b301533cb4de7a |
|
BLAKE2b-256 | 4f09f9d482177a80b8de312cceda684e6152517e3256cbc44666bae400b2545b |