猿问

如何告诉mock.assert_used_once()接受对象的任何实例?

我有一些正在调用 Mock 的代码assert_called_one_with()。


  import mock

  with mock.patch.object(myfile.Sheet,  'WriteData', autospec=True) as mock_sheets:

    somefile.ExportToSheets(query, 'api_key', 'sheet_id', 'A1')

    mock_sheets.assert_called_once_with(myfile.Sheet(), 'A1', [('a', 'b'), (1, 2)])

正如您所看到的,除了对象实例之外,所有内容都同等比较。


AssertionError: Expected call: \

WriteData(<myfile.Sheet object at 0x7f9d487923c8>, 'A1', [('a', 'b'), ('1', '2')])

Actual call: \

WriteData(<myfile.Sheet object at 0x7f9d47bafb38>, 'A1', [('a', 'b'), ('1', '2')])

我怎样才能


告诉assert_used_once_with()忽略对象标识,或者

执行类似的断言?


繁星淼淼
浏览 91回答 1
1回答

慕容708150

mock.ANY 将匹配任何值mock_sheets.assert_called_once_with(mock.ANY,&nbsp;'A1',&nbsp;[('a',&nbsp;'b'),&nbsp;(1,&nbsp;2)])
随时随地看视频慕课网APP

相关分类

Python
我要回答