1前言
上一篇给大家详细的介绍了 pytest 的引导钩子和初始化钩子,如果没看过的可以点此处了解:
【学习才是测试猿的永动力!超详细的 pytest 钩子函数 之初始钩子和引导钩子来啦】
今天这一篇主要给大家介绍 pytest 中用例收集的钩子函数,收集钩子,顾名思义就是 pytest 在用例收集阶段会执行的钩子函数,直接进入正题。
???pytest_collectiont
设置 pytest 收集用例执行的流程,这个钩子函数一般不需要重写,除非你想自己制定 pytest 用例收集的流程。
参数
触发时机:
pytest 默认的用例收集流程为
1、以 session 作为初始收集器 ,按照下面的流程,收集所有测试用例
2、对收集到的用例进行修改。
3、整理收集到的测试用例。
4、将收集的用例保存到 session.items 中。
5、将收集的用例数量设置为 session.testscollected 属性。
???pytest_ignore_collect
参数
触发时机:
返回值:
???pytest_collect_file
搜索测试文件路径的钩子函数
参数
触发时机:
返回值:
???pytest_pycollect_makemodule
收集测试模块的钩子函数,每个测试模块都会调用该钩子函数进行收集
参数
触发时机:
返回值:
???pytest_pycollect_makeitem
收集模块中用例的钩子函数,对模块中的用例进行收集
参数
触发时机:
返回值:
???pytest_generate_tests
根据用例参数化传入的参数数量生成测试用例,生成测试用例
参数
触发时机:
???pytest_make_parametrize_id
参数化生成用例时,生成 parametrize_id(默认情况下参数化生成的用例名由原用例名和 parametrize_id 组成),可以通过该钩子函数修改生成用例的方法名。
参数
触发时机:
对用例方法进行参数化,生成用例名称
返回参数化的 id
???pytest_markeval_namespace
收集用例时 评估 被 xfail 或 skipif 标记用例的条件,改变测试跳过的钩子:
参数
触发时机:
???pytest_collection_modifyitems
用例收集完成后,可以通过该钩子函数修改用例的顺序,删除或以其他方式修改测试用例。
参数
触发时机:
???pytest_collection_finish
参数
触发时机:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!