pytest测试框架——内置插件hook

一、pytest hook介绍

  • pytest hook是一个函数,在系统消息触发时自动被系统调用
  • hook函数的名称是固定的,不可更改
  • pytest有非常多的勾子函数,使用时直接编写函数体即可

二、pytest执行顺序

  • pytest勾子函数都在hookspec.py文件中
pytest_addoption:添加命令行参数,运行时会优先读取命令参数;
pytest_collection_modifyitems:收集测试用例,收集之后(改编码,改执行顺序)
pytest_collection_finish:收集之后的操作
pytest_runtest_setup:测试前置动作
pytest_runtest_call:执行测试用例
pytest_runtest_makereport:运行完用例,返回执行结果

三、总结

  • 1、hook 函数名字固定
  • 2、hook 函数会被自动执行
  • 3、执行是有先后顺序的
  • 4、pytest 定义了很多 hook 函数,可以在不同阶段实现不同的功能