Mockito is a spying framework originally based on the Java library with the same name. (Actually we invented the strict stubbing mode back in 2009.)
pip install mockito
90% use case is that you want to stub out a side effect.
from mockito import when, mock, unstub
when(os.path).exists('/foo').thenReturn(True)
# or:
import requests # the famous library
# you actually want to return a Response-like obj, we'll fake it
response = mock({'status_code': 200, 'text': 'Ok'})
when(requests).get(...).thenReturn(response)
# use it
requests.get('http://google.com/')
# clean up
unstub()
http://mockito-python.readthedocs.io/en/latest/
I use rye, and if you do too: you just clone this repo to your computer, then run rye sync
in the root directory. Finally, activate the virtualenv. (rye shell
gives you a hint on how to do that.)
pytest