Я хотел бы иметь три светильника. Они используются для настройки конфигураций для тестов и определения, какие тесты используют какие конфигурации.
Три приспособления должны быть следующими: 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 - это просто списки строк (имя конфига)
РЕДАКТИРОВАТЬ:
Похоже на проблему, схожую с Chaining pytest fixtures , которая не решена.
Однако этот вопрос пытается отфильтровать приборы, а я пытаюсь их объединить.
Однако любой из этих вариантов будет работать.