Pytest - объединить светильники в один прибор - PullRequest
1 голос
/ 27 февраля 2020

Я хотел бы иметь три светильника. Они используются для настройки конфигураций для тестов и определения, какие тесты используют какие конфигурации.

Три приспособления должны быть следующими: 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 , которая не решена.

Однако этот вопрос пытается отфильтровать приборы, а я пытаюсь их объединить.

Однако любой из этих вариантов будет работать.

...