Expects matchers for Doublex test doubles assertions
Project description
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
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
File details
Details for the file doublex-expects-0.7.1.tar.gz
.
File metadata
- Download URL: doublex-expects-0.7.1.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8040682d97f0a66f632c5df982f78d09aee36b2c4a1eb275b0c596d115f200aa |
|
MD5 | 59f71a367758e1a9a97bf2af888b1264 |
|
BLAKE2b-256 | cee8677f10ca523396283343a478265fbeb84e12a84406f5e6ec8b3b7d448982 |