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.1b2.tar.gz
(8.9 kB
view details)
Built Distribution
File details
Details for the file pytest-expecter-1.1b2.tar.gz
.
File metadata
- Download URL: pytest-expecter-1.1b2.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 372688920fef6dd14721536f34ab34abdaab65ce4a03395728533acd7f0fe997 |
|
MD5 | b4b07f1d5f4352f96f9d18ca911a9bc3 |
|
BLAKE2b-256 | 006652230b2d94dd9df6788474f08325fadad4659dc36a03a796c73624100766 |
File details
Details for the file pytest_expecter-1.1b2-py2-none-any.whl
.
File metadata
- Download URL: pytest_expecter-1.1b2-py2-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0aa47f5693c29fb8aac6ead421375b02ab0e588a84f6aa64af97dd84a05fa6d2 |
|
MD5 | 813ca90092e95424c542aa1990434a26 |
|
BLAKE2b-256 | 1ae333a2e250ce886cbd2023c1cc0fe0f1e5c855000c704e6b11465041019447 |