领取资料,咨询答疑,请➕wei: June__Go
上一小节我们学习了测试数据管理插件-pytest-datadir,本小节我们讲解一下pytest的hook钩子函数。
钩子(Hook)在pytest中是一种特殊机制,它允许用户在测试执行的特定阶段插入自定义代码。这些特定的阶段包括测试的准备、执行和结束等。钩子函数在pytest中以pytest_为前缀,后面跟上特定事件的名称,例如pytest_runtest_protocol、pytest_runtest_teardown等。
简而言之,pytest的hook是一种预定义的接口,它在测试流程的关键时刻被自动调用。开发者可以编写自己的hook函数来实现对测试流程的控制和扩展,比如修改测试行为、增加额外的测试逻辑、或者定制测试报告等。这些hook为pytest提供了极高的灵活性,使得用户能够根据自己的需求定制测试流程。
pytest中的hook函数按功能一共分为6类:引导钩子,初始化钩子、用例收集钩子、用例执行钩子、报告钩子、调试钩子。
引导钩子
引导挂钩要求足够早注册的插件(内部和setuptools插件),可以使用的钩子
- pytest_load_initial_conftests(early_config,parser,args): 在命令行选项解析之前实现初始conftest文件的加载。
- pytest_cmdline_preparse(config,args): (不建议使用)在选项解析之前修改命令行参数。
- pytest_cmdline_parse(pluginmanager,args): 返回一个初始化的配置对象,解析指定的args。
- pytest_cmdline_main(config): 要求执行主命令行动作。默认实现将调用configure hooks和runtest_mainloop。
初始化钩子
初始化钩子需要插件和conftest.py文件
- pytest_ad