有人注意到 pytest 和 xdist 的以下奇怪行为吗?
当尝试运行使用一些随机选择的值进行参数化的测试时,测试实际上并没有运行。如果不使用 xdist,则执行相同的测试没有任何问题。
以下代码可用于重现这一点。
import pytest
import random
PARAMS_NUMBER = 3
PARAMS = []
for i in range(PARAMS_NUMBER):
PARAMS.append(random.randrange(0, 1000))
@pytest.mark.parametrize('rand_par', PARAMS)
def test_random_param(rand_par):
assert 500 > rand_par
没有 xdists 它工作正常。
使用 xdist 根本不执行任何测试,输出如下
============================= test session starts =============================
platform win32 -- Python 2.7.3 -- py-1.4.24 -- pytest-2.6.2
plugins: xdist
gw0 [3] / gw1 [3] / gw2 [3] / gw3 [3]
scheduling tests via LoadScheduling
============================== in 1.93 seconds ===============================
我正在使用的版本:
- 蟒蛇2.7.3
- pytest 2.6.2
- pytest-xdist 1.11
附加说明:
对于一些旧版本(xdist 1.8 和 pytest 2.4.X 或 2.5.X 不记得确切),xdist 在 dsession.py 中停止断言
assert collection == col
提前感谢任何帮助如何解决它或至少解决它:)