kaste / mockito-python

Mockito is a spying framework
MIT License
123 stars 12 forks source link

Mockito is a spying framework originally based on the Java library with the same name <https://github.com/mockito/mockito>_. (Actually we invented the strict stubbing mode back in 2009.)

.. image:: https://github.com/kaste/mockito-python/actions/workflows/test-lint-go.yml/badge.svg :target: https://github.com/kaste/mockito-python/actions/workflows/test-lint-go.yml

Install

pip install mockito

Quick Start

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()

Read the docs

http://mockito-python.readthedocs.io/en/latest/

Development

I use rye <https://rye-up.com/>_, 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