我有一些正在调用 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()忽略对象标识,或者执行类似的断言?
1 回答
慕容708150
TA贡献1831条经验 获得超4个赞
mock.ANY 将匹配任何值
mock_sheets.assert_called_once_with(mock.ANY, 'A1', [('a', 'b'), (1, 2)])
添加回答
举报
0/150
提交
取消