pytestxdist每秒运行1个测试

2024-04-26 23:57:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我的场景由一个服务器组成,当某个事件发生时,它会通知附加的websockets。websocket查询参数指定应通知客户端的事件类型。在

我有一组用于通知的预定义事件,以及一组已知预期匹配事件的websocket URL。在

我想要的是:

  1. 启动通知服务(等待事件流)
  2. 对于每个测试,通过websocket附加一个客户端
  3. 启动事件流
  4. 流完成后停止通知服务器 (关闭websocket)
  5. 客户机(测试)检查websocket闭包接收到的事件是否与预期的事件匹配

只有在所有测试同时运行时,此方案才能工作。为此,我考虑使用pytest xdist,并使用“-n”。在

不幸的是,这似乎行不通。有8个测试我得到的结果是4个测试像我预期的那样立即运行,但是最后4个测试只有在第一个测试结束时才开始。在

如果我正确地理解了pytest-xdist代码(dession.py:366-368),那么看起来测试在从系统之间被划分成至少两个测试的块。在

显然,这会破坏我的设置并解释行为。在

有人能想出解决这个问题的办法吗?在


Tags: 代码服务器url客户端类型参数客户机websockets