Skip to main content

Expects plugin for Doublex test doubles assertions

Project description

Latest version Number of PyPI downloads https://secure.travis-ci.org/jaimegildesagredo/doublex-expects.svg?branch=master

This is an addon plugin for the Expects assertion library. It provides assertions for the Doublex test double library.

Installation

First you need to have Expects installed.

$ pip install expects>=0.3

You can install the last stable release of Doublex-Expects 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

Usage

There is nothing special you need to do. Just import the expect callable and start writing assertions for test doubles.

from expects import expect
from doublex import Spy

my_spy = Spy()

expect(my_spy.method).to.have.been.called()

Assertions

called

Assert that a spy has been called. Negation passes through.

expect(my_spy.method).to.have.been.called()
expect(my_spy.method).to.have.not_been.called()

Note that called can be used as a chainable property.

once

Assert that a spy has been called exactly once.

expect(my_spy.method).to.have.been.called.once
expect(my_spy.method).not_to.have.been.called.once

twice

Assert that a spy has been called exactly twice.

expect(my_spy.method).to.have.been.called.twice
expect(my_spy.method).not_to.have.been.called.twice

exactly

Assert that a spy has been called exactly n times.

expect(my_spy.method).to.have.been.called.exactly(3)
expect(my_spy.method).not_to.have.been.called.exactly(3)

min

Assert that a spy has been called minimum of n times.

expect(my_spy.method).to.have.been.called.min(2)
expect(my_spy.method).not_to.have.been.called.min(2)

max

Assert that a spy has been called maximum of n times.

expect(my_spy.method).to.have.been.called.max(2)
expect(my_spy.method).not_to.have.been.called.max(2)

with_args

Assert that a spy has been called with given arguments.

expect(my_spy.method).to.have.been.called.with_args('foo', key='bar')
expect(my_spy.method).not_to.have.been.called.with_args('bar', key='foo')

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

License

The Doublex-Expects is released under the Apache2 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

doublex-expects-0.3.0.tar.gz (3.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page