为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

繁星淼淼 2024-01-15 21:10:42
我有一些正在调用 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)])


查看完整回答
反对 回复 2024-01-15
  • 1 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信