首页 > 解决方案 > 使用 pytest 为夹具提供默认参数化

问题描述

如何将“默认参数化”设置为夹具?一些固定装置是具有多个参数的类。

我目前的解决方案很乏味:

import pytest
import itertools

class A:
    def __init__(self, x, y):
        self.x = x
        self.y = y


def big_data():
    return [1, 2, 3]

@pytest.fixture(
    params=itertools.product(big_data(), [True, False])
)
def a(request):
    return A(*request.param)


def test_1(a):
    int(a.x + a.y)


@pytest.mark.parametrize("v", [10, 100])
def test_2(a, v):
    assert (a.x < v) or a.y

标签: pythonunit-testingpytest

解决方案


推荐阅读