Я не хочу параметризовать один и тот же набор параметров для группы тестов.
Всякий раз, когда я использую прибор, я также хочу использовать «параметризация по умолчанию». Эта «параметризация по умолчанию» означает меньше @pytest.mark.parametrize
в коде.
Группировка тестов в класс и параметризация всего класса тестов может помочь в некоторых случаях. Но у меня есть несколько комбинаций приборов.
Как установить «параметризацию по умолчанию» для приборов? Некоторые приборы являются классами с несколькими параметрами.
Мое текущее решение утомительно:
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