mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Make unittest.mock.create_autospec resilient against AttributeError on original object
This commit is contained in:
parent
899ee613f7
commit
656319e58d
2 changed files with 29 additions and 2 deletions
|
@ -2044,10 +2044,14 @@ def create_autospec(spec, spec_set=False, instance=False, _parent=None,
|
|||
# object to mock it so we would rather trigger a property than mock
|
||||
# the property descriptor. Likewise we want to mock out dynamically
|
||||
# provided attributes.
|
||||
# XXXX what about attributes that raise exceptions on being fetched
|
||||
# XXXX what about attributes that raise exceptions other than
|
||||
# AttributeError on being fetched?
|
||||
# we could be resilient against it, or catch and propagate the
|
||||
# exception when the attribute is fetched from the mock
|
||||
original = getattr(spec, entry)
|
||||
try:
|
||||
original = getattr(spec, entry)
|
||||
except AttributeError:
|
||||
continue
|
||||
|
||||
kwargs = {'spec': original}
|
||||
if spec_set:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue