我试图使用mock.create_autospec
创建一个带有name
kwarg的autospecc'd mock。但是,每当我设置TypeError
kwarg时,就会出现一个TypeError
异常。在
下面是一个例子:
>>> import mock
>>> def a():
... print "blah"
...
>>> a()
blah
>>> q = mock.create_autospec(a)
>>> q
<function a at 0x7f184ceb1938>
>>> q()
<MagicMock name='mock()' id='139742347069904'>
mock()
不是MagicMock
对象的一个非常描述性的名称,因此我尝试为name
设置一个值:
为什么会这样?当我试着做一个常规的MagicMock
时,一切都很顺利:
>>> q = mock.MagicMock(name="a")
>>> q
<MagicMock name='a' id='139742346475088'>
它看起来像是提供的名称和生成的名称之间的冲突。可能是个bug,所以你应该试着报告它。在
还有另一种方法可以使用有意义的名称创建autospec'd mock,但它需要修补:
相关问题 更多 >
编程相关推荐