Size: a a a

2020 August 05

AP

Aiba Prenov in Python KZ
Mr.Temirlan
Привет всем!
В данный момент повышаю процентаж покрытия тестами с помощью COVERAGE и при отчете выдает что нужно покрыть данный кусок
await self.db_service.add_document(doc)
метод add_document придает объекту готовый вид(присваивает спецфичный уникальный ключ) чтобы положить в Redis, при этом метод ничего не возвращает.
И честно сказать у меня нет идей как покрыть это тестами( дайте совет пожалуйста
Надо патчить, и проверять был ли вызов внутри этой функции
источник

KK

K K in Python KZ
User Name
вообще мокать не бест практис говорят, но приходится
смотря на каком уровне тесты пишутся. Юнит/компоненты/интеграционные или какие еще
источник

KK

K K in Python KZ
Aiba Prenov
Надо патчить, и проверять был ли вызов внутри этой функции
+ ну или мокать
источник

RQ

Rawan Qurmet in Python KZ
Состоялся релиз Django 3.1 - пруф.

Напомню, что с этой версии в Django полноценно присутствуют асинхронные view и middleware.
ORM по-прежнему остаётся синхронной частью (😢). Для синхронных функций рекомендуется использовать декоратор sync_to_async.
Чтобы ощутить все прелести асинхронного фреймворка, Django необходимо запускать на ASGI-совместимом веб-сервере, например, uvicorn.

Также из новинок: поддержка JSONField для всех поддерживаемых database бэкендов.
источник

MO

Maxat Oralbaev in Python KZ
гууд news
источник

LG

Lisa Glebova in Python KZ
Всем привет!

Это объявление будет очень актуально разработчикам, у которых постоянно спрашивают, куда пойти учиться программированию

Мы - центр подготовки программистов Attractor School Almaty. За год из обычного пользователя ПК сделаем уверенного веб-разработчика с достаточным для коммерческой разработки набором скиллов.

Мы открываем набор на курс backend-разработки и приглашаем вас и ваших знакомых присоединиться к нам (Кстати, за приведенного друга вы получите скидку на обучение 😉)

https://attractor.school/csharp

Сегодня в 19:00 и в субботу в 13:00 состоится онлайн-презентация, где мы расскажем о процессе обучения, о карьерных перспективах и о самом процессе разработки.

🚀Приходите сами и приглашайте друзей, которым это может быть интересно🚀
источник

Z

Zhanar in Python KZ
Сколько стоит обучение?
источник

SA

Sultan Abilda in Python KZ
Сегодня что день тёзок?
источник

SA

Sultan Abilda in Python KZ
источник

Н

Ника in Python KZ
Zhanar
Сколько стоит обучение?
Можем отправить вам приглашение на вебинар. Или можете написать мне, я вас проконсультирую
источник

M

Mr.Temirlan in Python KZ
Rawan Qurmet
напиши потом как решил, интересно
Если котортко то плохо=) точнее не было в этом смысла.
В общем начал думать и пришел к таким мыслям.
1) метод имеет сайд эффект, в моем случае добавление объетка(json) в редис.
2) для этого мне нужно тестить именно этот эффект, псевдокод
data = {}
def set(key, val):
   data[key] = val

def get(key):
   return data[key]

mock_redis_set.side_effect = set
mock_redis_get.side_effect = get
в итоге нужный кусок покрыт.

И тут начал думать про мокание конкретно редиса вопрос а нужно ли.
Наткнулся на такую книгу clean architectures in python by Leonardo Giordani. Он подходит к написанию софта со стороны TDD и тут он говорит что это бесмысленно, так как сторонние инструменты ввиде редиса или Postgre выдают огромное количество исключений, который не получится воспроизвести и как бы тест не имеет особого смысла.
Так же в этом докладе про это говорится.
источник

UN

User Name in Python KZ
Mr.Temirlan
Если котортко то плохо=) точнее не было в этом смысла.
В общем начал думать и пришел к таким мыслям.
1) метод имеет сайд эффект, в моем случае добавление объетка(json) в редис.
2) для этого мне нужно тестить именно этот эффект, псевдокод
data = {}
def set(key, val):
   data[key] = val

def get(key):
   return data[key]

mock_redis_set.side_effect = set
mock_redis_get.side_effect = get
в итоге нужный кусок покрыт.

И тут начал думать про мокание конкретно редиса вопрос а нужно ли.
Наткнулся на такую книгу clean architectures in python by Leonardo Giordani. Он подходит к написанию софта со стороны TDD и тут он говорит что это бесмысленно, так как сторонние инструменты ввиде редиса или Postgre выдают огромное количество исключений, который не получится воспроизвести и как бы тест не имеет особого смысла.
Так же в этом докладе про это говорится.
Лично я покрываю тестами операций редис, по сути мокать не надо если функция в себя принимает редис клиент можешь из тестов передать фэйкредис клиент, или можешь заюзать возможности докера, и передавать в функцию докер редис клиент
источник

UN

User Name in Python KZ
Если функция внутри объявляет редис то мокаешь редис который импортнут в модуле то есть
'package.mymodule.redis.Redis'
источник

RQ

Rawan Qurmet in Python KZ
Мне кажется, что любую интеграцию со сторонним сервисоминадо мокать т.е. нет смысла проверять либу с БД, API, которые по умолчанию уже проверяны и работают как в официальных доках
источник

Е

Ержан in Python KZ
😄
источник

B

B in Python KZ
Nickname
Если твой аккаунт будет не активен в течени 6 месяцев оно удалить само себя затем можеш опят зарег
До этого вообще никак да
источник

YA

Yernar Akimzhanov in Python KZ
Rawan Qurmet
Мне кажется, что любую интеграцию со сторонним сервисоминадо мокать т.е. нет смысла проверять либу с БД, API, которые по умолчанию уже проверяны и работают как в официальных доках
А если я садо мазо?
источник

RQ

Rawan Qurmet in Python KZ
Yernar Akimzhanov
А если я садо мазо?
Тогда на парламентских выборах голосуй за НурОтан)
источник

YA

Yernar Akimzhanov in Python KZ
Rawan Qurmet
Тогда на парламентских выборах голосуй за НурОтан)
Камон не настолько же
источник

GK

Gordey Kachurin in Python KZ
Здравствуйте. У меня была прога поиска организаций по бин на портале открытые данные. Раньше работала. Сейчас какую то ошибку по сертификату выдает.

certificate verify failed: unable to get local
issuer certificate (_ssl.c:1091)')))
источник