text":"除了系统提过的HOOK函数外 , 也可以通过自定义HOOK的方式实现想要的功能 。
首先创建一个py文件 , 里面定义自己的HOOK函数 , 主要pytest里面的hook函数必须以pytest开头 。
【C++|pytest 自定义HOOK函数】#myhook.pydef pytest_myhook(user):
\"\"\"自定义HOOK函数\"\"\"def pytest_myhook2():
\"\"\"自定义HOOK函数\"\"\"
其次创建自己的插件类 , user类的重写__init__方法 , 注册钩子的时候带入pytest的config配置 。 在该方法中设置钩子入口:self
.config.hook.pytest_myhook().
#插件类class user:
name = \"herry\"
age = 18
def __init__(self config): self.config = config self.config.hook.pytest_myhook(user=self) self.config.hook.pytest_myhook2()
@pytest.mark.Adef test_B():
print(\"BBB\")if __name__ == \"__main__\":
pytest.main([(\"pytest模块分享之hook2.py\") (\"-s\") (\"-m=A\")
)
最后在conftest.py文件中注册钩子和引用实现它 。 其中注册方法要放在最前面 。
先添加构造 , 在注册插件 ,
def pytest_addhooks(pluginmanager):
from . import myhook
pluginmanager.add_hookspecs(myhook)def pytest_configure(config):
config.user_ = user(config)
config.pluginmanager.register(config.user_)def pytest_myhook(user):
print(\"username------%s\"%user.name)
print(\"age------%s\" % user.age)def pytest_myhook2():
print(\"myhook2\")
执行结果:
"
- 路由器|Mybatis+element简单实现自定义数据库分页查询
- C++|华硕灵耀X双屏Pro测评:超强配置与双4K触屏
- 外设|可自定义RGB灯带!骨伽推出USB 3.2拓展坞:接口一应俱全
- C++|OPPO持续爆发,70万跑分+12+256G,顶配真香机降至1589元
- C++|为何某些公司不允许使用 C++ STL?
- 电子商务|为何某些公司不允许使用 C++ STL?
- C++|看到新酷睿全线发布,是否想抄底上代产品?劝你趁早打消这个念头
- 网页设计|为何某些公司不允许使用 C++ STL?
- Java|采用Freemarker+Jdbc实现的一款自定义模板代码生成器
- 鼠标|雷蛇毒蝰8K,主要是看中光学微动和自定义的媒体键