Я все еще решаю свою проблему с фикстурами.
Мне нужно было по особому комбинировать пару значений фикстур: фабрики и входных данных.
Я решил делать через pytest_generate_test как ты и советовал.
Я помечаю каждую фикстуру декоратором, добавляя предикат, который фильтрует нужные фабрики/входные данные. Декоратор заменяет пустую функцию на функцию, которая рейзит исключительнение. Самое главное -- декоратор добавляет в словарь, где ключ -- имя функции (фикстуры), а значение -- предикат.
В итоге pytest_generate_test параметризует фикстуры нужным образом.
Вот тут я бы хотел вместо глобального словаря добавлять информацию о предикат сразу в фикстуру или функцию и как-то её доставать