pytest教程-32-初识hook(钩子)函数

领取资料,咨询答疑,请➕wei:  June__Go

上一小节我们学习了测试数据管理插件-pytest-datadir,本小节我们讲解一下pytest的hook钩子函数。

钩子(Hook)在pytest中是一种特殊机制,它允许用户在测试执行的特定阶段插入自定义代码。这些特定的阶段包括测试的准备、执行和结束等。钩子函数在pytest中以pytest_为前缀,后面跟上特定事件的名称,例如pytest_runtest_protocol、pytest_runtest_teardown等。

简而言之,pytest的hook是一种预定义的接口,它在测试流程的关键时刻被自动调用。开发者可以编写自己的hook函数来实现对测试流程的控制和扩展,比如修改测试行为、增加额外的测试逻辑、或者定制测试报告等。这些hook为pytest提供了极高的灵活性,使得用户能够根据自己的需求定制测试流程。
 

pytest教程-32-初识hook(钩子)函数_第1张图片


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_addoption(parser): 注册argparse样式的选项和ini样式的配置值,这些值在测

你可能感兴趣的:(pytest教程,pytest)