python - 测试套件失败后如何防止snakemake停止?
问题描述
我正在尝试使用snakemake自动化集成测试(我需要一些文件的输出,所以这似乎是一个很好的工具)。但是,当我需要在 pytest 中运行两个测试套件时,如果任一套件中的单个测试失败,工作流程就会停止。所以例如我有:
rule run_tests:
run:
commands = [
"pytest test_that_should_fail",
"pytest test_that_should_succeed"
]
for c in commands:
shell(c)
而且我需要后一个测试应该失败的测试输出。运行“pytest test_that_should_fail”后有没有办法防止蛇形停止?此外,snakemake 在没有任何错误消息的情况下停止,只是一个通用的:“规则 run_tests 中的错误:jobid:0”
解决方案
你可以这样写:
commands = [
"pytest test_that_should_fail || true",
"pytest test_that_should_succeed || true",
]
然后shell命令将有退出代码0,这意味着成功,从而继续执行其他命令。
编辑:
这是解决问题的一种简单方法,不是@bli 指出的最干净也不是最惯用的方法。
推荐阅读
- python-3.x - Python - 无法在 FTP 上上传文件
- php - 更改特定产品类别的 WooCommerce 产品数量设置
- database - Delphi - 复制在 DBGrid 上选择的记录并将其插入到另一个 ADO 表中
- forms - Symfony 4 Form FileType 约束问题
- python - 使用列表合并两个数据框到使用 pandas/python 的单值映射
- flutter - 以编程方式在颤振中创建 docx 和 pdf 文件
- mongodb - Mongo DB 中的类别计数
- nattable - 排序后表格数据消失
- sql - 带有有效期的产品条码
- python - Celery 群发任务