Python 从返回的MagicMock对象获取调用参数

Python 从返回的MagicMock对象获取调用参数,python,unit-testing,mocking,python-unittest,Python,Unit Testing,Mocking,Python Unittest,调用MagicMock对象的方法将返回另一个MagicMock对象 >>> from unittest.mock import MagicMock >>> mock = MagicMock() >>> a = mock.foo('A', 1) >>> a <MagicMock name='mock.foo()' id='50553184'> 在我的程序中,很难访问父mock,因为它是我创建的原始MagicMoc

调用MagicMock对象的方法将返回另一个MagicMock对象

>>> from unittest.mock import MagicMock
>>> mock = MagicMock()
>>> a = mock.foo('A', 1)
>>> a
<MagicMock name='mock.foo()' id='50553184'>

在我的程序中,很难访问父mock,因为它是我创建的原始MagicMock对象的第无数个子对象。我会发现返回对象上的断言比通过层次结构查找父对象更有说服力,因为这可能会导致检查不同的调用。

我不确定,但我认为您不能,您只能测试所有调用是否如预期的那样,或者所做的调用中是否包含特定的调用,但您必须使用父模拟对象来检查这一点。我不确定,但我认为您不能,并且您仅限于测试所有调用是否符合预期,或者特定调用是否包含在所做的调用中,但您必须使用父模拟对象来检查这一点。
>>> del mock
>>> a
<MagicMock name='mock.foo()' id='50553184'>
>>> a.called
False
>>> a.mock_calls
[]
>>>