Size: a a a

2020 December 23

ИС

Игорь Середа... in Rude QA
Алексей
у нас ваще в пятрицу выходной - рождество!
Как и у @scream8000. 😄
источник

А

Алексей in Rude QA
угу, омон в костюмах дед морозов будет пиздить елками
источник

b

betzy in Rude QA
Пацаны, нормальная ли стратегия мокать базу, если мне нужно протестить только работу эндпоинтов? В каких вообще случаях тестируют базу, кроме миграций?
источник

ИС

Игорь Середа... in Rude QA
В случаях, когда могут быть неконсистентные данные.
источник

А

Алексей in Rude QA
betzy
Пацаны, нормальная ли стратегия мокать базу, если мне нужно протестить только работу эндпоинтов? В каких вообще случаях тестируют базу, кроме миграций?
редко. я тестил когда то давно, но там был Ололоракл и очень много хранимок, так что написали совместно с дба тесты на хранимки
источник

А

Алексей in Rude QA
а так у меня обычно есть сколько там дампов или инстансов базы с данными а-ля прод, они и подрубаются к инстансам АПИ
источник

А

Алексей in Rude QA
голая база с миграциями пропускает баги по кривым данным после миграций и всяческое легаси
источник

b

betzy in Rude QA
Я чет никогда не сталкивался с тем, как это вообще делать, если мне надо протестить только логику бекенд апишки. Я так понимаю, что нужно замокать все мои crud операции с базой в тестах?
источник

А

Алексей in Rude QA
Если есть возможность - можно сделать еженедельный дамп с прода (+ обфускация), который будет обновлять данные на тестовых средах, чтобы постоянно иметь "актуальный" набор древнего говна в базе
источник

b

betzy in Rude QA
Алексей
Если есть возможность - можно сделать еженедельный дамп с прода (+ обфускация), который будет обновлять данные на тестовых средах, чтобы постоянно иметь "актуальный" набор древнего говна в базе
Да не, там для каждого теста свои данные генерятся.
источник

А

Алексей in Rude QA
betzy
Да не, там для каждого теста свои данные генерятся.
это конечно. но очень часто при поисках и всяких фильтрах наличие старого гогна находит баги
источник

b

betzy in Rude QA
Просто ща удобно, что в тестах юзается crud, который юзается в эндпоинтах для создания тестовых данных и их удаления после тестов.
источник

b

betzy in Rude QA
И этот код лежит в одном месте.
источник

А

Алексей in Rude QA
betzy
Я чет никогда не сталкивался с тем, как это вообще делать, если мне надо протестить только логику бекенд апишки. Я так понимаю, что нужно замокать все мои crud операции с базой в тестах?
берешь дамп с прода, обфусцируешь юзер данные (по GDPR  и здравому смыслу), его и юзаешь как основу для конктейнера с тест базенкой. Если без докера - поднимаешь базу из этого джампа где то, и поднимаемые на тест апишки коннектишь туда
источник

b

betzy in Rude QA
Если я напедалю моки, то придется два круда поддерживать. (я пока не разбирался с pytest-mock и как там это все)
источник

А

Алексей in Rude QA
имхо моки это лишнее
источник

b

betzy in Rude QA
Алексей
берешь дамп с прода, обфусцируешь юзер данные (по GDPR  и здравому смыслу), его и юзаешь как основу для конктейнера с тест базенкой. Если без докера - поднимаешь базу из этого джампа где то, и поднимаемые на тест апишки коннектишь туда
Да ща так и работает, в принципе. У нас есть qa и prod окружения, на qa накатывается дамп с прода ежедневно и там гоняются тесты.
источник

b

betzy in Rude QA
Не хочется зависеть от базы, когда нужно протестить только логику эндпоинтов.
источник

А

Алексей in Rude QA
а база какая?
источник

b

betzy in Rude QA
Постгря
источник