如何模拟内部调用(xlwt)?

2024-10-01 09:30:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个测试用例:

@mock.patch('xlwt.Workbook.Workbook.save')
    def test_Generic_send_test_email_address(self, workspace_mock):
        workspace_mock.return_value = None
        oi = OptinInvitesGeneric()
        oi.compute(...)
        self.assert ...

实际方法会进行一些处理,并将结果保存在excel电子表格中。你知道吗

class OptinInvitesGeneric(OptinBase):
    def compute(...):
      ...
      wb = excel_tool.write_xls(...)
      wb.save('{0}.xls'.format(category))

似乎我的模拟补丁没有取代工作簿.保存(). 我错过了什么?你知道吗


Tags: testselfsavedef测试用例xlsexcelmock
1条回答
网友
1楼 · 发布于 2024-10-01 09:30:24

我不知道你为什么要修补xlwt.Workbook.Workbook,但这两种方法对我很有用:

@patch.object(xlwt.Workbook, 'save', return_value=None)
def test_patch_object(mock):
    wb = xlwt.Workbook()
    assert wb.save() == None

@patch('xlwt.Workbook.save', return_value=None)
def test_patch(mock):
    wb = xlwt.Workbook()
    assert wb.save() == None

相关问题 更多 >