使用yaml文件配置工作流/管道测试的pytest插件
pytest-workflow的Python项目详细描述
pytest工作流是一个pytest插件,旨在简化管道/工作流测试 使用yaml文件进行测试配置。
为了获得完整的文档,请查看 readthedocs page
安装
pytest工作流需要python 3.5或更高版本。它在Python3.5、3.6上进行了测试 和3.7。不支持Python2。
- 确保您的虚拟环境已激活。
- 使用pippip install pytest-workflow 安装
- 在存储库的根目录中创建一个tests目录。
- 在tests目录中创建测试yaml文件。
pytest工作流也可用作conda package on conda-forge。跟随 these instructions 正确设置频道以便使用Conda Forge。或者, 你可以set up the channels correctly for use with bioconda。之后conda install pytest-workflow可以用于安装pytest工作流。
快速启动
在安装了pytest工作流的环境中运行pytest。 pytest将自动收集tests目录中的文件,从 test并以.yaml或.yml结尾。
要在工作流运行时检查其进度,可以使用tail -f 在工作流的stdout或stderr文件上。它们的位置 一旦启动工作流,就会在日志中报告文件。
对于使用--kwd或--keep-workflow-wd标志调试管道,是 推荐。这将在测试运行后保留工作流目录和日志 因此,有可能检查管道在哪里坠毁。-v标志可以出现 它提供了成功和失败测试的完整概述。
下面是定义测试的yaml文件的示例:
-name:Touch a filecommand:touch test.filefiles:-path:test.file
这将运行touch test.file,然后检查路径为: test.file存在。它还将检查^ {t1818}$是否已退出。 使用退出代码^ {Tt19} $,这是唯一运行的默认测试。测试 用另一个退出代码退出的工作流也是可能的。其他几个 可以进行预定义测试和自定义测试。
更高级用例的文档可以在 readthedocs page