Мне нужно параметризовать мой тест со значениями диапазона a, которые возвращаются из вычисленных на основе других приборов.
, например:
@pytest.fixture
def another_fixture():
return value
@pytest.fixture
def expensive_op(another_fixture):
return value * another_fixture
@pytest.mark.parametrize('idx', range(expensive_op))
def test_justwork(expensive_op, idx)
pass
Теперь я знаю, что pytest не поддерживаю это, но я действительно хотел бы использовать параметризацию, подобную этой, чтобы тест разбивал несколько меньших тестов вместо одного большого теста. Кроме того, я не хочу преобразовывать эти приборы в обычные функции, потому что:
- Это уродливо и нарушает схему прибора
- Операция с приборами довольно дорогая, я не хочу сделать это дважды (мне все еще нужно это во время теста)
Есть ли вообще, даже "hacki sh", чтобы добиться этого? Я видел способы ввода осветителей с помощью globals (), но, похоже, это не сработало, если осветитель - тот, кто его вводит (к тому времени уже слишком поздно).