pytest的plugin
2016-03-19 18:29
267 查看
一个plugin包含一个或多个hook函数。pytest通过调用如下plugin很好指定地hooks来执行所有关于配置,搜集,运行和报告等。
Pytest默认plugin参考:从pytest内部的_pytest目录下加载。
外部plugins:通过setuptools entry points找到的模块。
conftest.py plugin:在test目录下默认找到的模块。
原则上,每一个hook调用是一个1:N的Python函数调用,其中的N指的是对一个给定规格的注册实行函数(registered implementation funtions)的数量。所有规格和实行遵从pytest_前缀命名传统,使得他们易于区分和发现。
Plugin在工具启动(tool startup)中的寻找顺序
pytest通过以下的方式在工具启动中加载plugin模块:
通过加载内建plugin
通过加载注册在setuptools entry points的plugin
通过预先扫描命令行的-p参数,并且在真正的命令行解释前加载指定的plugin
通过加载有命令行调用推断的所有conftest.py文件
如果测试路径(test paths)没有指定,则使用当前路径作为测试路径
如果测试路径存在,则加载conftest.py和在第一测试路径的相对目录中的conftest.py,即test*/conftest.py
递归加载所有在conftest.py文件中的pytest_plugins变量中指定的plugin。
注意:pytest并不去更深的嵌套子路径下去寻找conftest.py文件在工具启动时。所以通常情况下把你的conftest.py文件放在测试的顶层路径或者项目的主路径。
如果你想查看现存的plugins的名字,可以使用--traceconfig选项。
本文来自:pytest官网
Pytest默认plugin参考:从pytest内部的_pytest目录下加载。
外部plugins:通过setuptools entry points找到的模块。
conftest.py plugin:在test目录下默认找到的模块。
原则上,每一个hook调用是一个1:N的Python函数调用,其中的N指的是对一个给定规格的注册实行函数(registered implementation funtions)的数量。所有规格和实行遵从pytest_前缀命名传统,使得他们易于区分和发现。
Plugin在工具启动(tool startup)中的寻找顺序
pytest通过以下的方式在工具启动中加载plugin模块:
通过加载内建plugin
通过加载注册在setuptools entry points的plugin
通过预先扫描命令行的-p参数,并且在真正的命令行解释前加载指定的plugin
通过加载有命令行调用推断的所有conftest.py文件
如果测试路径(test paths)没有指定,则使用当前路径作为测试路径
如果测试路径存在,则加载conftest.py和在第一测试路径的相对目录中的conftest.py,即test*/conftest.py
递归加载所有在conftest.py文件中的pytest_plugins变量中指定的plugin。
注意:pytest并不去更深的嵌套子路径下去寻找conftest.py文件在工具启动时。所以通常情况下把你的conftest.py文件放在测试的顶层路径或者项目的主路径。
如果你想查看现存的plugins的名字,可以使用--traceconfig选项。
本文来自:pytest官网
相关文章推荐
- 第四周项目3-小学生算数能力测试系统(2)
- 英文歌曲:a place nearby(不远的地方)
- C#实现注册码功能编程总结
- 3.19----第三周作业(一)
- spring中配置log4j
- POJ 3641 Pseudoprime numbers(快速幂+素数)
- Linux内核分析——第一章 Linux内核简介
- 设置session失效的几种方法
- HDU 4321 Arcane Numbers 2
- VS2008 断点不起作用
- 保存配置好的.config文件
- POJ 2226 Muddy Fields (最小点覆盖)
- ifndef系列
- 解决DWZ(JUI)的panel 点击关闭或者打开按钮 自己写的标签消失
- DNS主从自动同步
- 数据结构笔记-----查找
- Android 如何在Eclipse中查看Android API源码 及 support包源码
- linux内核设计与实现一书阅读整理 之第一二章整合
- 在windows环境下用python编写备份文件小程序
- Cadence Allegro 生成PDF,打印PCB