[TIP] Mocking properties on an instance
julian at grayvines.com
Sat Sep 3 18:20:56 PDT 2011
So, I'm aware of mock.patch.object, but I have a use case at hand that seems to most easily be accomplished by patching properties (/ arbitrary descriptors) on an already existing instance.
Here's a test case showing my use case, along with a partial implementation that happens to work for me.
It happens to be that in my case, as of right now I have strictly non-data descriptors, so the quickly thrown together implementation simply uses the AttributeError (yeah sorry :P) to tell if we have a property or not, but obviously this could be done by checking to see if the class' attr has __get__ defined.
As far as some quick thought can tell, the only issue with this would be when klass.foo was a thing with __get__ while instance_of_klass.foo was an evil thing that replaced the descriptor on itself, but I highly doubt that's something at all to worry about?
Is there a particular aversion to including at least the possibility of trying to patch a property on an instance by doing something similar?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the testing-in-python