|View source on GitHub|
Support class for stubbing methods out for unit testing.
You want os.path.exists() to always return true during testing.
stubs = StubOutForTesting() stubs.Set(os.path, 'exists', lambda x: 1) ... stubs.CleanUp()
The above changes os.path.exists into a lambda that returns 1. Once the ... part of the code finishes, the CleanUp() looks up the old value of os.path.exists and restores it.
Undoes all SmartSet() & Set() calls, restoring original definitions.
Set( parent, child_name, new_child )
In parent, replace child_name's old definition with new_child.
The parent could be a module when the child is a function at module scope. Or the parent could be a class when a class' method is being replaced. The named child is set to new_child, while the prior definition is saved away for later, when UnsetAll() is called.
This method supports the case where child_name is a staticmethod or a classmethod of parent.
||The context in which the attribute child_name is to be changed.|
||The name of the attribute to change.|