class documentation
class MonkeyPatcher: (source)
Cover up attributes with new objects. Neat for monkey-patching things for unit-testing purposes.
Method | __init__ |
Undocumented |
Method | add |
Add a patch so that the class name on obj will be a the same type, but bases will be appended to __bases__ when patch is called or during runWithPatches. You can restore the original values with a call to restore(). |
Method | add |
Add a patch so that the attribute name on obj will be assigned to value when patch is called or during runWithPatches. You can restore the original values with a call to restore(). |
Method | patch |
Apply all of the patches that have been specified with addPatch . Reverse this operation using restore . |
Method | restore |
Restore all original values to any patched objects. |
Method | run |
Apply each patch already specified. Then run the function f with the given args and kwargs. Restore everything when done. |
Method | _already |
Has the name attribute of obj already been patched by this patcher? |
Instance Variable | _originals |
Undocumented |
Instance Variable | _patches |
Undocumented |
Add a patch so that the class name on obj will be a the same type, but bases will be appended to __bases__ when patch is called or during runWithPatches. You can restore the original values with a call to restore().
Warning, if some want to add multiple mixins, all of them should be listed in one call to addMixinPatch
, successive call to addMixinPatch
will result into the last pacth beeing applied only.
Parameters | |
obj:Any | Undocumented |
name:str | Undocumented |
bases:Sequence[ | Undocumented |
Raises | |
Unknown exception | AttributeError if the name is not found in obj. |
Unknown exception | TypeError if the object found is not a class. |
Apply each patch already specified. Then run the function f with the given args and kwargs. Restore everything when done.