Skip to main content
Help us improve Python packaging – donate today!

Terse mock expectations for Python and Mock

Project Description

# expect

Inspired by [RSpec's test doubles][2] and [Expecter Gadget][3].

Uses [Mock][1] but provides a terser syntax for expectations.

Example:

```python
>>> def assert_equal(lhs, rhs):
... assert lhs == rhs
>>> from expect import new_expect
>>> expect = new_expect(__eq__=assert_equal)
>>> expect(2) == 2
>>> expect(2) == 3
Traceback (most recent call last):
...
AssertionError

>>> class MyClass(object):
... @classmethod
... def my_method(cls, arg):
... pass

>>> # Stubs don't have to be called.
>>> expect(MyClass).stub('my_method').with_(1).and_return(2)
>>> MyClass.my_method(1)
2
>>> expect.reset()

>>> # Mocks
>>> expect(MyClass).should_receive('my_method').with_(1).and_return(2)
>>> expect.verify()
Traceback (most recent call last):
...
AssertionError: Expected to be called once. Called 0 times.

```

[1]: http://www.voidspace.org.uk/python/mock/
[2]: https://github.com/rspec/rspec-mocks
[3]: https://github.com/garybernhardt/expecter

Release history Release notifications

This version
History Node

0.0.1

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page