Pytest Xdist收集了不同的测试错误

时间:2017-06-22 20:26:12

标签: python pytest xdist

第一次在这里发帖,我已经尝试过去2天搜索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

2 个答案:

答案 0 :(得分:2)

如果使用最近发布的pytest 3.2不能解决您的错误,请尝试使用固定数量对python解释器的哈希进行种子设定,以便为依赖哈希的结构获得稳定的排序: PYTHONHASHSEED=0 pytest -n 2

答案 1 :(得分:1)

了解pytest-xdist的工作原理

每个工作人员执行标准收集,并将收集的测试ID(按顺序)发送回主节点。主节点确保每个工作人员以相同的顺序收集相同数量的测试,因为调度程序从那时起将仅向每个工作人员发送测试索引(而不是整个节点ID),以告诉他们要执行哪个测试。这就是为什么所有工作人员的收藏集必须相同的原因。

要解决此问题,请确保测试用例参数不依赖于流程,并且按顺序排列。