一、@functools.wraps(func)使用场景:
接口自动化中,requests请求网页的时候出现请求失败或错误,部分操作出现各种判断状态和超时等,此时需要多次重试请求,这种情况下,可以使用下retrying包下的retry装饰器达到目的
二、@functools.wraps(func)使用前提:
导入functools:
三、@functools.wraps(func)作用:
若存在装饰器函数add_logs_for_functions(),其中使用内层函数wrapper(),被改装饰器函数add_logs_for_functions()修饰的函数的函数名会被修改为wrapper,为了解决该问题,我们在装饰器函数内层函数wrapper()上使用@functools.wraps(func)装饰器,使,被自动以装饰器函数修饰的函数名称不发生变化
四、实例:
运行如下函数:
未添加@functools.wraps(func)装饰器:
加上@functools.wraps(func)装饰器: