Doublex Expects
Doublex-Expects is a matchers library for the Expects assertion library. It provides matchers for the Doublex test double library.
Usage
Just import the expect callable and the Doublex-Expects matchers and start writing assertions for test doubles.
Spies
from expects import expect
from doublex_expects import *
from doublex import Spy
my_spy = Spy()
my_spy.method()
expect(my_spy.method).to(have_been_called)
Mocks
from expects import expect
from doublex_expects import *
from doublex import Mock
with Mock() as my_mock:
my_mock.reset()
my_mock.add(1)
my_mock.reset()
my_mock.add(1)
expect(my_mock).to(have_been_satisfied)
Matchers
have_been_called
Asserts that a spy has been called.
expect(my_spy.method).to(have_been_called)
expect(my_spy.method).not_to(have_been_called)
have_been_called_with
Asserts that a spy has been called with given arguments.
expect(my_spy.method).to(have_been_called_with('foo', key='bar'))
expect(my_spy.method).to(have_been_called_with(a(str), key=match('\w+')))
expect(my_spy.method).to(have_been_called_with(anything, key='bar'))
expect(my_spy.method).to(have_been_called_with('foo', any_arg))
expect(my_spy.method).not_to(have_been_called_with('bar', key='foo'))
Times called modifiers
once
Asserts that a spy has been called exactly once.
expect(my_spy.method).to(have_been_called.once)
expect(my_spy.method).to(have_been_called_with('foo').once)
expect(my_spy.method).not_to(have_been_called.once)
twice
Asserts that a spy has been called exactly twice.
expect(my_spy.method).to(have_been_called.twice)
expect(my_spy.method).to(have_been_called_with('foo').twice)
expect(my_spy.method).not_to(have_been_called.twice)
exactly
Asserts that a spy has been called exactly n times.
expect(my_spy.method).to(have_been_called.exactly(3))
expect(my_spy.method).to(have_been_called_with('foo').exactly(3))
expect(my_spy.method).not_to(have_been_called.exactly(3))
max
Asserts that a spy has been called maximum of n times.
expect(my_spy.method).to(have_been_called.max(2))
expect(my_spy.method).to(have_been_called_with('foo').max(2))
expect(my_spy.method).not_to(have_been_called.max(2))
min
Asserts that a spy has been called minimum of n times.
expect(my_spy.method).to(have_been_called.min(2))
expect(my_spy.method).to(have_been_called_with('foo').min(2))
expect(my_spy.method).not_to(have_been_called.min(2))
have_been_satisfied
Verifies that a mock calls have been satisfied.
expect(my_mock).to(have_been_satisfied)
expect(my_mock).not_to(have_been_satisfied)
have_been_satisfied_in_any_order
Verifies that a mock calls have been satisfied regardless of the execution order.
expect(my_mock).to(have_been_satisfied_in_any_order)
expect(my_mock).not_to(have_been_satisfied_in_any_order)
Installation
You can install the last stable release from PyPI using pip or easy_install.
$ pip install doublex-expects
Also you can install the latest sources from Github.
$ pip install -e git+git://github.com/jaimegildesagredo/doublex-expects.git#egg=doublex-expects
Specs
To run the specs you should install the testing requirements and then run mamba.
$ python setup.py develop
$ pip install -r test-requirements.txt
$ mamba
Metadata
Release files for doublex-expects 0.7.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| doublex-expects-0.7.1.tar.gz | 6.6 kB | Without provenance | Details for doublex-expects-0.7.1.tar.gz |
Release files / doublex-expects-0.7.1.tar.gz
| Download URL | doublex-expects-0.7.1.tar.gz |
|---|---|
| Size | 6.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8040682d97f0a66f632c5df982f78d09aee36b2c4a1eb275b0c596d115f200aa
|
|
BLAKE2b-256 checksum How to use checksums |
cee8677f10ca523396283343a478265fbeb84e12a84406f5e6ec8b3b7d448982
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.1.0 requests-toolbelt/0.9.1 tqdm/4.34.0 CPython/3.6.7
|
Security for doublex-expects 0.7.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.