Skip to content

Instantly share code, notes, and snippets.

View damianferencz's full-sized avatar

damianferencz

View GitHub Profile
@rectangletangle
rectangletangle / gist:0a0d5a2e84dd3178d348
Last active January 29, 2022 17:32
Python 3 Monkeypatch Context Manager
""" This is a convenient way to monkeypatch a method or attribute of a Python
object. This is great for situations where you want to modify a global
object within a limited scope, i.e., your typical class or module when
testing. This was tested and works with Python 2.7 and 3.4. """
import contextlib
@contextlib.contextmanager
def monkeypatched(object, name, patch):
""" Temporarily monkeypatches an object. """