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 | |
|---|---|---|---|
| doublex-expects-0.7.1.tar.gz | 6.6 kB | Details |
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
|