Я хотел бы иметь три светильника. Они используются для настройки конфигураций тестов и указывают, какие тесты используют какие конфигурации.
Должны быть три фикстуры: release_configs dev_configs all_configs
Если в тесте используется фикстура «all_configs», она будет тестироваться для каждого запуска сеанса конфигурации. Если в тесте используется фикстура "dev_configs", он будет протестирован только для некоторого подмножества. Если в тесте используется фикстура «release_configs», он будет протестирован только для какого-то другого подмножества.
all_configs содержит сумму dev и release.
Это возможно?
Вот что у меня есть для all_configs:
@pytest.fixture(autouse=False, scope="session", params=release_configs_to_test+dev_configs_to_test, ids=release_configs_to_test+dev_configs_to_test)
def all_configs(self, request):
name = request.param
print('config fixture called')
self._setup_config(name)
yield name
Где release_configs_to_test и dev_configs_to_test — это просто списки строк (имя конфигурации)
РЕДАКТИРОВАТЬ:
Похоже, проблема аналогична связыванию фикстур pytest, которая не решена.
Однако этот вопрос пытается отфильтровать приборы, а я пытаюсь их объединить.
Однако любой из этих вариантов будет работать.