gpt4 book ai didi

python - 测试装饰器引发的异常的好方法是什么?

转载 作者:行者123 更新时间:2023-11-28 21:31:17 25 4
gpt4 key购买 nike

在定义装饰器“foo”的模块中,测试 foo 应该抛出的异常的好方法是什么?我正在寻找一个可以在模块末尾进行的简单测试,如下所示:

if __name__ == '__main__':

@foo
def bar(quux):
pass

#test that foo raises a particular exception when decorating bar

我猜我可以制作一个 expect_exception 装饰器来装饰 foo-decorated bar 函数。有没有更好的办法?也许最简单的方法是“手动”应用装饰器?:

    try:
bar = foo(bar)
except FooException:
# test passed

最佳答案

按照您的描述“手动”装饰它会起作用。您也可以在函数内正常进行装饰或 try/except:

try:
@foo
def bar(quux):
pass
except FooException:
# test passed

关于python - 测试装饰器引发的异常的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21372858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com