pytest-xdist 管理文件顺序

问题描述

我有 10 个测试文件

sc0 - 运行 4 分钟

sc1 - 运行 6 分钟

sc2 - 运行 6 分钟

sc3 - 运行 25 分钟

sc4 - 运行 25 分钟

sc5 - 运行 5 分钟

sc6 - 运行 5 分钟

sc7 - 运行 5 分钟

sc8 - 运行 6 分钟

sc9 - 运行 33 分钟

我使用下面的命令来并行运行测试(每个文件应该顺序运行)

pytest -n 3 --dist loadfile --junit-xml=pytest-junit.xml -o junit_family=xunit2

我看到工作人员根据文件名顺序运行测试,总执行时间为 1 小时

分布是:

worker0 - sc0 (4m)、sc3 (25m) 和 sc9 (33m) = 1h

worker1 - sc1 (6m),sc4 (25m) = 31m

worker2 - sc2 (6m),sc5 (5m),sc6 (5m),sc7 (5m),sc8 (6m) = 27m

但是如果我有能力控制 worker split 决定选择哪个文件,我可以节省 20m 的测试执行时间

worker0 - sc3 (25m),sc0 (4m),sc2 (6m),sc7 (5m) = 40m

worker1 - sc4 (25m),sc1 (6m),sc8 (6m) = 42m

worker2 - sc9 (33m),sc6 (5m) = 38m

如何控制pytest-xdist插件的测试文件分发顺序? (我不想重命名文件名)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)