小编bri*_*ssy的帖子

使用pytest动态控制测试顺序

我想使用逻辑来控制测试的顺序,这些逻辑将在测试已经运行时即时对其进行排序。

我的用例是这样的:我将我的测试与xdist并行化,并且每个测试都使用来自公共池和有限池的外部资源。一些测试比其他测试使用更多的资源,因此在任何给定的时间,当只有一部分资源可用时,某些测试具有运行所需的资源,而其他则不需要。

我想优化资源的使用,因此我想根据当前可用资源动态选择下一步运行的测试。我会在收集阶段计算出最佳排序,但我事先不知道每个测试将花费多长时间,因此我无法预测何时可以使用哪些资源。

我没有找到一种使用插件来实现此行为的方法,因为收集阶段似乎与运行阶段不同,并且我不知道另一种方法来修改测试列表以运行除收集挂钩之外的其他方法。

非常感谢任何建议,无论是实施此建议的方法还是可以优化资源利用的替代方案。我的选择是编写自己的简单测试运行程序,但我不想放弃pytest提供的其余功能。

谢谢!

pytest xdist

4
推荐指数
1
解决办法
699
查看次数

标签 统计

pytest ×1

xdist ×1