这是我第一次在这里发帖,这两天我一直在搜索xdist问题的解决方案。当我尝试用n=2或更高版本的东西运行时,我有时(我说有时是因为它是随机工作的)会得到类似如下的错误
Different tests were collected between gw1 and gw0. The difference is:
--- gw1
+++ gw0
@@ -1,2 +1,2 @@
+test_Sign_Up.py::test_sign_up[chrome] test_Sign_Up.py::test_sign_up[firefox]
-test_Sign_Up.py::test_sign_up[chrome]如果这个问题很容易解决,我很抱歉,但在看了这么多其他帖子后,我个人觉得我没有找到我的答案。如果需要更多信息,请让我知道,我会尽快返回!谢谢!
编辑:设置
Python 3.5.3
Pytest 3.1.2
Xdist 1.17.1发布于 2017-08-03 20:51:01
如果使用最近发布的pytest 3.2不能修复您的错误,请尝试使用固定数字播种python解释器的散列,以便对依赖散列的结构进行稳定的排序:PYTHONHASHSEED=0 pytest -n 2
发布于 2020-04-21 17:16:30
了解pytest-xdist工作原理的一些背景知识
每个工作线程执行标准收集,并(按顺序)将收集的测试in发送回主节点。主节点确保每个worker以相同的顺序收集相同数量的测试,因为从那时起,调度器将只向每个worker发送测试索引(而不是整个节点id),以告诉它们要执行哪个测试。这就是为什么所有工作者的集合必须是相同的。
要解决这个问题,请确保测试用例参数不依赖于流程,并按排序顺序排列。
https://stackoverflow.com/questions/44708770
复制相似问题