Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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

Project details


Release history Release notifications

This version

0.0.1

Supported by

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