上一节讲到如何安装和使用第三方插件,用法很简单。接下来解读下如何自己开发pytest
插件。
但是,由于一个插件包含一个或多个钩子函数开发而来,所以在具体开发插件之前还需要先学习hooks函数。
一、什么是 hooks 函数
简单来说,在 pytest 的代码中,预留出了一些函数供我们修改,以便来改变pytest工作方式,这些函数就是hooks函数
,我们可以直接重写函数里的内容。
比如,在 pytest代码路径\Lib\site-packages\_pytest\hookspec.py
中,可以看到 pytest 定义好的 hook 规范,方便我们在开发插件的时候参考规范来调用对应的hooks
函数。
二、hooks 函数的分类
从hooks
函数的职责分类来看,大概如下几类:
- Bootstrapping hooks:引导类钩子,用来调用已经早就注册好的内部插件和第三方插件。
- Collection hooks:集合类钩子,pytest 调用集合钩子来收集文件和目录。
- Test running (runtest) hooks</