bpo-32153: Add unit test for create_autospec with partial function returned in getattr (#10398)
* Add create_autospec with partial function returned in getattr * Use self.assertFalse instead of assert * Use different names and remove object
This commit is contained in:
parent
68b56d02ef
commit
c667b094ae
|
@ -8,6 +8,7 @@ from unittest.mock import (
|
|||
)
|
||||
|
||||
from datetime import datetime
|
||||
from functools import partial
|
||||
|
||||
class SomeClass(object):
|
||||
def one(self, a, b):
|
||||
|
@ -871,6 +872,19 @@ class SpecSignatureTest(unittest.TestCase):
|
|||
mocked.assert_called_once_with(4, 5, 6)
|
||||
|
||||
|
||||
def test_autospec_getattr_partial_function(self):
|
||||
# bpo-32153 : getattr returning partial functions without
|
||||
# __name__ should not create AttributeError in create_autospec
|
||||
class Foo:
|
||||
|
||||
def __getattr__(self, attribute):
|
||||
return partial(lambda name: name, attribute)
|
||||
|
||||
proxy = Foo()
|
||||
autospec = create_autospec(proxy)
|
||||
self.assertFalse(hasattr(autospec, '__name__'))
|
||||
|
||||
|
||||
class TestCallList(unittest.TestCase):
|
||||
|
||||
def test_args_list_contains_call_list(self):
|
||||
|
|
Loading…
Reference in New Issue