1.装饰器(decorator)
我用过的装饰器:
- @classmethod 类方法
- @staticmethod 静态方法
- @ddt 数据驱动,进行参数化
- @pytest.fixture 设置夹具
- @pytest.mark.parametrize 数据驱动,进行参数化
- @pytest.mark.success 筛选用例,自定义标签
- @allure.suit 修改测试套件名称
- @allure.title 修改测试用例名称
单函数之间的调用:
def run():
print('is running')
def log(func):
return func
# 调用log函数时,run整个函数本身作为参数
result = log(run) # 这个结果就是run函数对象<function run at 0x000002A3D05D61F0>
result() # 函数本身加上括号就是调用函数
print(result)
运行结果:
嵌套函数之间的调用:
def run():
print('is running')
# 嵌套函数
def log(func):
def wrapper():
return func() # 注意