首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >识别在pytest-xdist进程上运行的测试用例。

识别在pytest-xdist进程上运行的测试用例。
EN

Stack Overflow用户
提问于 2022-07-13 04:40:53
回答 1查看 162关注 0票数 1

我正在与pytest-叉(pytest -r sxX -n auto --cache-clear --max-worker-restart=4 --forked)并行执行python单元测试,并且有一个测试用例需要相当长的时间才能运行,而另一个测试用例运行者/CPU核心处于空闲状态(因为可能只剩下这一个测试用例需要完成)。

我想知道是哪个测试用例(可能在开始时运行它,或者禁用它)。注意,这不是寻找运行时间最长的测试用例的问题,因为这可能不是罪魁祸首。我正在显式地寻找某种方式来知道哪个测试用例分配给了pytest运行程序Python流程。调用ps会显示类似于python -u -c import sys; exec(eval(sys.stdin.readline())) (对于机器中同样多的CPU核心)的东西,这并不特别有用。

是否有一种方法可以将测试用例的名称设置为流程并使用系统工具(如ps )检索它?我正在Linux上运行这些测试用例,以防与此相关。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-04 23:38:26

由于pytest-dist 2.4,有一个解决方案来显示哪个测试用例正在运行。它需要一个额外的包setproctitle

从系统环境中识别工作人员的

2.4版新版本

如果安装了setproctitle包,pytest-xdist将使用它更新其工作人员上的进程标题(命令行),以显示其当前状态。使用的标题是pytest-xdist,运行file.py/node::id和pytest-xdist空闲,在标准工具(如ps )中可以看到,在Linux、Mac和BSD系统上也可以看到。对于Windows,请遵循setproctitle关于Process工具的指针。

这纯粹是作为UX增强的目的,例如跟踪长期运行或CPU密集测试的问题。更改标题时的错误将被忽略。请尽量不要依赖外部脚本中的标题格式或标题更改。

https://pypi.org/project/pytest-xdist/#identifying-workers-from-the-system-environmentbas

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72961025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档