Как реализовать ручной сборщик тестов для PyTest?

Товарищи, вопрос по PyTest, может у кого то был такой кейс. Допустим есть как всегда DEV, STAGE и PROD. И когда ты знаешь особенности каждого энва, то скипнуть тесты не проблема - можно как в коде самих тестов, а можно как по ключу -k собрать только нужные, здесь это легко решается.
Теперь представьте что есть не только эти стандартные 3 окружения, а еще и stage01, stage02, dev01, dev02 и тд. Они сделаны для того чтобы заливать туда по 1-2 задачи и не нагружать основные окружения. Но прогон тестов уже будет нереально кастомный, какой то сьют надо выкинуть вообще, а в каком то тесте не надо брать только 1 кейс. То есть нужен удобный сборщик тестов, в котором можно было бы быстро обозначить план колла или план скипа. Реализовал ли кто-то что-то похожее? Или может уже есть какой то плагин на такие ситуации?

а почему нельзя собирать все тесты, а запускать нужные по какому-то признаку? ну типа тег иди вроде того?

ну вы понимаете что в этом случае вы должны будете вынуждены маркировать каждый кейс в параметризации? и вдруг так может оказаться что у вас 20 сьютов по 10 кейсов и окажется что вчера какие-то кейсы были не актуальны на окружении, а потом стали актуальны и нужно их снова добавить в прогон. и вы будете в маркерах разбираться день.

есть идея другая - описать карту кейсов в yaml и прокидывать этот файл своим ключом типа --skip-list. дальше этот файл анализировать в хуке для сбора тестов и уже делать сбор непосредственно в хуке

а как иначе-то?

все равно придётся где-то менеджить окружение и наборы тестов для них
будет это самописный ui плагин для дженкинса или ручками в ямл-файле

ну я примерно о таком и думаю

ну вообще шок какой-то куча тестовых окружений с разными версиями приложения

почему нельзя один тест стенд иметь и на нем фича тогл передёргивать?

ну вот если не придумаю что-то еще, то так и буду реализовывать. потом эти же файлы скипов можно наплодить и в CI передавать и по сути весь менеджмент по скипам реализовать этими файлами.
а вот столько требуется окружений когда деплоится все 2 раза в неделю. задач куча, фичи мутятся, окружения крутятся

Если кто-то еще заинтересуется, нашел такой плагин, буду пробовать:

1 Like