gpt4 book ai didi

python - 带有 xdist 的 py.test 没有执行用随机值参数化的测试

转载 作者:行者123 更新时间:2023-11-28 17:39:51 25 4
gpt4 key购买 nike

有没有人注意到 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 ===============================

我使用的版本:

  • python 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

在此先感谢您提供有关如何解决或至少解决它的任何帮助:)

最佳答案

所以这是 Armins 提示后的代码:)

import pytest
import random

PARAMS_NUMBER = 3
PARAMS = []

for i in range(PARAMS_NUMBER):
PARAMS.append(1000)

@pytest.mark.parametrize('rand_par', PARAMS)
def test_random_param(rand_par):

par_val = random.randrange(0, rand_par)
assert 500 > par_val

然后它使用随机选择的值运行测试 3 次。

更新:我为 xdist 项目创建了一个问题,它的解决意味着为用户返回合理的信息。

更多信息可以在这里找到py.test with xdist is not executing tests parametrized with random values

关于python - 带有 xdist 的 py.test 没有执行用随机值参数化的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25958659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com