测试数据管理器,提供下载、生成文件的缓存和临时目录的上下文。
pytest-datadir-mgr的Python项目详细描述
pytest的datadir-mgr插件提供了datadir_mgrfixture,它 允许测试函数轻松下载数据文件和缓存生成的数据文件 以允许结果叠加的方式在数据目录中。datadir-mgr 是基于pathlib的,因此可以处理到数据文件的完整路径, 不仅仅是文件名。在
datadir_mgr的行为类似于一个有限字典,datadir_mgr[item]返回一个带有 与指定的字符串或路径匹配的最特定范围(超出global, module, [class], [function]) 由item。除了提供已经存储在data目录中的数据文件之外,fixture还提供 有五种方法可用于添加存储在存储库中的测试数据:
- download方法允许将数据文件下载到数据目录中,其中 选项MD5校验和检查、ungzip和一个progressbar。在
- savepathfixture允许相对于当前工作的任意路径 要保存在数据目录中特定范围的目录。在
- add_scope方法允许从不同于 要添加到搜索路径中的当前请求。这样可以得到结果 要在全局范围以外的作用域中使用的以前缓存步骤的数目。在
- in_tmp_dir方法在临时目录中使用 复制到中的请求文件路径的列表。(可选)所有输出文件路径 可以保存在清理时的特定范围,但有一个可选的排除 过滤模式(例如,排除日志文件)。注意目录中的文件 以test_开头或以_test结尾的代码可能与 作用域目录,无法保存。如果progressbar设置为“True”, 然后会显示文件复制的进度,这对一些长期运行的文件复制很有帮助 pytest作业,例如在Travis上。在
- paths_from_scope返回指定范围内文件的所有路径的列表。在
先决条件
需要Python3.6或更高版本。 这个包在Linux和MacOS下使用python3.8进行了测试。在
用户安装
通过pip安装
pip install pytest-datadir-mgr
对于开发者
如果您计划开发datadir_mgr,则需要安装 poetry依赖关系管理器。 如果您以前没有安装poetry,请执行以下命令:
^{pr2}$接下来,从GitHub获取主分支
git clone https://github.com/legumeinfo/pytest-datadir-mgr.git
切换到datadir-mgr/目录并与poetry一起安装:
poetry install -v
用poetry测试datadir-mgr:
poetry run pytest -s
- 项目
标签: