Non-alcoholic Mockito-style when-then utilities for unittest.mock
Project description
Mocktail
The non-alcoholic, Mockito-inspired utility for unittest.mock
!
This package provides dead-simple utilities for setting return values for mocks with a Mockito-inspired syntax:
from unittest.mock import MagicMock
from mocktail import when
my_mock = MagicMock()
when(my_mock).some_method('foo').then_return('bar')
my_mock.some_method('foo') # 'bar'
Unlike other solutions (like mockito-python),
it deliberately only works with mocks created using unittest.mock
. To set the return
values of arbitrary objects, combine with unittest.mock.patch
.
Installation
pip install mocktail
Buyer beware!
This package -- though very minimal -- is in early alpha stage. Use with your own risk!
Contributing
Pull requests and bug reports are gladly accepted in this Github repository.
License
MIT
TODO
- (More) matchers
- Matcher for "rest of args / kwargs"
verify
syntax- Docs
- Some way to make "missed" matches more explicit, ie. raising an error
e.g.
when(...).foo(...).then_return(...).raise_missing()
orwhen(..., raise_missing=True).foo(...).then_return(...)
- Refactor the logic when hooking multiple
then_returns
for call proxies. Currently, it should work because existingside_effect
is called, but it's a bit hairy - The matcher interface could be removed and instead we could just overwrite
__eq__
for matchers
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
File details
Details for the file mocktail-0.0.4.tar.gz
.
File metadata
- Download URL: mocktail-0.0.4.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd11f32ef0b846c553c5c7c11f624dcacb3c058a0537968cf31b97d195e5f311 |
|
MD5 | 7c10b60786c49e4735f3842c8ca2f519 |
|
BLAKE2b-256 | a9730682c5e0e35282e242b155279bc908fe1bdb0adfbc6a658db4fff751bd9f |