3

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

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

我想获得的是:

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

这种情况只有在所有测试同时运行时才有效。出于这个原因,我想到使用“-n”来使用 pytest-xdist。

不幸的是,这似乎不起作用。有 8 个测试我得到的是 4 个测试按我的预期立即运行,但最后 4 个测试仅在第一个测试结束时开始。

如果我正确理解了 pytest-xdist 代码(dession.py:366-368),看起来测试在从属之间被划分为每个至少 2 个测试的块。

显然,这会危及我的设置并解释行为。

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

4

0 回答 0