t.me/atinfo_chat Telegram группа по автоматизации тестирования

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

pytest
python
Теги: #<Tag:0x00007f21d456a7a0> #<Tag:0x00007f21d456a660>

(Maxim Andryushchenkov) #1

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


(Vladislav Abramov) #2

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


(Maxim Andryushchenkov) #3

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


(Maxim Andryushchenkov) #4

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


(Vladislav Abramov) #5

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

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


(Vladislav Abramov) #6

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


(Vladislav Abramov) #7

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

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


(Maxim Andryushchenkov) #8

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


(Maxim Andryushchenkov) #9

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