diff options
author | Łukasz Langa <lukasz@langa.pl> | 2015-04-14 07:12:57 (GMT) |
---|---|---|
committer | Łukasz Langa <lukasz@langa.pl> | 2015-04-14 07:12:57 (GMT) |
commit | 5f6684efe0690c1272b206764301e751e37d9bcf (patch) | |
tree | ba6a1f57f1603b2f3af243de631c0abbd0de6a95 /Lib/unittest/mock.py | |
parent | 4882cacab6bcaf90ac496fc8878987598e7665c1 (diff) | |
download | cpython-5f6684efe0690c1272b206764301e751e37d9bcf.zip cpython-5f6684efe0690c1272b206764301e751e37d9bcf.tar.gz cpython-5f6684efe0690c1272b206764301e751e37d9bcf.tar.bz2 |
Issue #23310: Fix MagicMock's initializer to work with __methods__.
Behavior equivalent to m.configure_mock(). Patch by Kasia Jachim.
Diffstat (limited to 'Lib/unittest/mock.py')
-rw-r--r-- | Lib/unittest/mock.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Lib/unittest/mock.py b/Lib/unittest/mock.py index dcb2d8f..1b1c9f4 100644 --- a/Lib/unittest/mock.py +++ b/Lib/unittest/mock.py @@ -1771,14 +1771,15 @@ def _set_return_value(mock, method, name): class MagicMixin(object): def __init__(self, *args, **kw): + self._mock_set_magics() # make magic work for kwargs in init _safe_super(MagicMixin, self).__init__(*args, **kw) - self._mock_set_magics() + self._mock_set_magics() # fix magic broken by upper level init def _mock_set_magics(self): these_magics = _magics - if self._mock_methods is not None: + if getattr(self, "_mock_methods", None) is not None: these_magics = _magics.intersection(self._mock_methods) remove_magics = set() |