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