如何从模拟实例的方法抛出异常?

2024-10-06 12:46:37 发布

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

我想测试的这个演示函数非常简单。在

def is_email_deliverable(email):
    try:
        return external.verify(email)
    except Exception:
        logger.error("External failed failed")
        return False

这个函数使用一个external服务,我想模拟它。在

但我不知道如何从external.verify(email)抛出exception,即如何强制执行except子句。在

我的尝试:

^{pr2}$

This问题声称有答案,但对我无效。在


Tags: 函数returnisemaildefexceptionerrorlogger
1条回答
网友
1楼 · 发布于 2024-10-06 12:46:37

您使用了side_effects,而不是side_effect。 像这样

@patch.object(Class, "attribute")
def foo(attribute):
    attribute.side_effect = Exception()
    # Other things can go here

顺便说一句,捕获所有Exception并根据其进行处理不是一个好方法。在

相关问题 更多 >