仅通过指定测试名称来按特定顺序运行一组特定的 pytest 测试

问题描述 投票:0回答:1

为了重现 pytest 失败,我想通过

pytest
按特定顺序运行一个或多个测试,而不修改原始源文件(不允许添加标记)。这些测试分散在多个源文件中,我不想执行这些文件中的其他测试。

例如,我想按顺序运行 test_potato_salad 和 test_macaroni_salad 而不指定源文件名。

pytest
1个回答
0
投票

可能有更好的解决方案,但这就是我的做法:不幸的是,

-k
不允许用户简单地以逗号分隔的格式列出测试名称(例如
-k 'test_potato_salad,test_macaroni_salad'
)。标记在这里不是一个选项,因为我无法更改源代码,因此我使用了对关键字功能的一些非正统操作来执行我的命令。示例:
pytest -k 'test_potato_salad or test_macaroni_salad'

我很幸运,

pytest
按照与“或”序列匹配的顺序使用关键字执行了测试;否则我可能就不走运了。如果有更明确的方法通过测试名称以特定顺序执行测试,我很想了解更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.