相关疑难解决方法(0)

Python Pytest 解包夹具

我有一个夹具,可以在测试期间创建项目列表。我想要另一个夹具,它使用第一个夹具生成的值进行参数化。

示例代码

import random
import pytest

@pytest.fixture
def values():
    return [random.randint(0, 100) for _ in range(10)]


@pytest.fixture
def value(request):
    return request.param


@pytest.mark.parametrize("value", params=values):
def test_function(value):
    assert value > 0
Run Code Online (Sandbox Code Playgroud)

上面代码的问题在于它values是一个函数而不是一个列表。我做了很多挖掘,但没有找到任何方法来解压夹具来参数化另一个夹具。

我知道我可以通过values夹具并在测试中对其进行迭代,但这不是一个好的解决方案,因为我想查看哪些值导致测试失败。

我也对替代解决方案持开放态度,例如,如果可以从开始的测试运行子测试。

python testing pytest

10
推荐指数
1
解决办法
2308
查看次数

标签 统计

pytest ×1

python ×1

testing ×1