side_effect mocked method lose reference to instance
uadnan opened this issue · comments
Adnan Umer commented
When a method/bounded function is mocked and side_effect is supplied to it, the side_effect function doesn't get the reference to the instance.
Suppose we have something like this
class SomeClass:
def do_something(self, x):
pass
def some_function(x):
cls = SomeClass()
y = class.do_something(x)
return y
And the test for some_function
will be
def do_something_side_effect(x):
retrun x
def test_some_function():
with mock.path("SomeCass.do_something") as do_something_mock:
do_something_mock.side_effect = do_something_side_effect
assert some_function(1)
Here do_something_side_effect
mock will not have access to SomeClass
instance.
Chris Withers commented
This repo is only for issues that are specific to the backport.
Please report issues with mock in the upstream bug tracker at https://bugs.python.org/.
Once issues are fixed upstream, they can be backported here.