https://github.com/jaimegildesagredo/expects
Expects is an expressive and extensible TDD/BDD assertion library for Python.
https://github.com/jaimegildesagredo/expects
Last synced: 7 days ago
JSON representation
Expects is an expressive and extensible TDD/BDD assertion library for Python.
- Host: GitHub
- URL: https://github.com/jaimegildesagredo/expects
- Owner: jaimegildesagredo
- License: other
- Created: 2013-05-24T12:55:59.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2025-02-17T23:33:31.000Z (8 months ago)
- Last Synced: 2025-04-21T22:45:50.316Z (6 months ago)
- Language: Python
- Homepage: https://expects.readthedocs.io
- Size: 476 KB
- Stars: 219
- Watchers: 7
- Forks: 32
- Open Issues: 19
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.rst
- License: LICENSE
Awesome Lists containing this project
- awesome-python-testing - expects - Expects is an expressive and extensible TDD/BDD assertion library for Python. (Assertions)
README
Expects
=======
.. image:: https://img.shields.io/pypi/v/expects.svg
:target: https://pypi.python.org/pypi/expects
:alt: Latest version
.. image:: https://img.shields.io/badge/Docs-latest-brightgreen.svg
:target: http://expects.readthedocs.io/en/latest
:alt: Docs
.. image:: https://img.shields.io/badge/Licence-Apache2-brightgreen.svg
:target: https://www.tldrlegal.com/l/apache2
:alt: License
.. image:: https://github.com/jaimegildesagredo/expects/actions/workflows/pipeline.yml/badge.svg
:target: https://github.com/jaimegildesagredo/expects/actions/workflows/pipeline.yml
:alt: Build status
.. image:: https://img.shields.io/pypi/pyversions/expects.svg
:target: https://pypi.python.org/pypi/expects
:alt: PyPI versions
**Expects** is an *expressive* and *extensible* TDD/BDD assertion library for Python. Expects can be *extended* by defining `new matchers `_.
Usage
-----
Just import the ``expect`` callable and the `built-in matchers `_ and start writing test assertions.
.. code-block:: python
from expects import *
expect([]).to(be_empty)
expect(False).not_to(be_true)
expect({
'name': 'Jack',
'email': 'jack@example.com'
}).to(have_key('name', match('\w+')))
expect(str).to(have_property('split') & be_callable)
expect(lambda: foo).to(raise_error(NameError))
expect('Foo').to(equal('Bar') | equal('Foo'))
Installation
------------
You can install the last stable release of Expects from PyPI using pip or easy_install.
.. code-block:: bash
$ pip install expects
Also you can install the latest sources from Github.
.. code-block:: bash
$ pip install -e git+git://github.com/jaimegildesagredo/expects.git#egg=expects
Specs
-----
To run the Expects specs you should install the development requirements and then run `mamba`.
.. code-block:: bash
$ pip install -r test-requirements.txt
$ mamba
Changes
-------
See `Changes `_.
3rd Party Matchers
------------------
See `3rd-Party Matchers list `_.