Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有没有一种简单的方法可以递归地将_uname_uu添加到MagicMock属性 陈述_Python_Mocking_Magicmock - Fatal编程技术网

Python 有没有一种简单的方法可以递归地将_uname_uu添加到MagicMock属性 陈述

Python 有没有一种简单的方法可以递归地将_uname_uu添加到MagicMock属性 陈述,python,mocking,magicmock,Python,Mocking,Magicmock,当我问一个MagicMock对象的uu__名称时,我得到了一个AttributeError=>我认为这就是MagicMock的工作方式 from mock import MagicMock a = MagicMock() a.__name__ ------------------------------------------------------------------- AttributeError Traceback (most r

当我问一个MagicMock对象的uu__名称时,我得到了一个AttributeError=>我认为这就是MagicMock的工作方式

from mock import MagicMock
a = MagicMock()
a.__name__

-------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
----> 1 a.__name__
这很容易通过以下方式解决:

a.__name__ = "some_name"
但是 当然,我询问的任何更深层次的属性仍然会返回AttributeError

问题:
是否有一种简单的方法可以将_名称_添加到MagicMock的“尚未”请求属性中???

确定解决方案比预期的更简单

>>> from unittest.mock import MagicMock

>>> class MySpecialMagicMock(MagicMock):
>>>     __name__ = "some value"

>>> a = MySpecialMagicMock()

>>> a.__name__
some value

>>> a.another_attribute.__name__    
some value

好的,解决方案比预期的简单

>>> from unittest.mock import MagicMock

>>> class MySpecialMagicMock(MagicMock):
>>>     __name__ = "some value"

>>> a = MySpecialMagicMock()

>>> a.__name__
some value

>>> a.another_attribute.__name__    
some value