當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python unittest.mock.Mock.mock_calls用法及代碼示例


用法:

mock_calls

mock_calls 記錄 all 調用模擬對象、其方法、魔術方法 and 返回值模擬。

>>> mock = MagicMock()
>>> result = mock(1, 2, 3)
>>> mock.first(a=3)
<MagicMock name='mock.first()' id='...'>
>>> mock.second()
<MagicMock name='mock.second()' id='...'>
>>> int(mock)
1
>>> result(1)
<MagicMock name='mock()()' id='...'>
>>> expected = [call(1, 2, 3), call.first(a=3), call.second(),
... call.__int__(), call()(1)]
>>> mock.mock_calls == expected
True

mock_calls 的成員是call 對象。這些可以解包為元組以獲取各個參數。將調用視為元組。

注意

記錄mock_calls 的方式意味著在進行嵌套調用的地方,不記錄祖先調用的參數,因此總是比較相等:

>>> mock = MagicMock()
>>> mock.top(a=3).bottom()
<MagicMock name='mock.top().bottom()' id='...'>
>>> mock.mock_calls
[call.top(a=3), call.top().bottom()]
>>> mock.mock_calls[-1] == call.top(a=-1).bottom()
True

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 unittest.mock.Mock.mock_calls。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。