Denis
Ты вообще что-то странное там делаешь
Valera
Так сделай
так мне так не надо
если бы нужно было, вопрос был бы по-другому
Леонид
Denis
Зачем mock = FakeVideo(), если это нигде больше не используется
Tishka17
Denis
И ты уверен, что код к нему именно по этому пути обращается?
Denis
Патч принимает второй аргумент, если что
Tishka17
Tishka17
Зачем вообще патч?
Tishka17
Это типа мы не осилили DI и поэтому по-быстрому залепим как получится?
Valera
Tishka17
В чем плох способ замокать?
Тем что это значит, класс проектировался так, что в нем ничего не меняется, а ты пытаешься заменить
Tishka17
В зависимости от ситуации, могут быть разные проблемы
Tishka17
От "я замокал, а он лезет не туда" и "я замокал и оно начало падать", до тестирования внутренней структуры вместо логики работы
Valera
Понял, но вы так и не дали дельного совета, что можно и нужно делать
Использовать DI или продолжить с mock. Если с mock, в чем тогда ошибка, куда посомтреть примеры, что почитать. Если DI - куда там рыть?
Tishka17
Если DI, то твой объект, который обращается к SomethingVideo должен получать снаружи ссылку на его инстанс (лучше - в ините). Тогда ты в проде передаешь свой VimeoVideo, а в тестах FakeVideo и ничего патчить не надо
Valera
Андрей
ку) кто с django работает?
у меня проблема
есть блог и на странице выдаются посты, но...
Посты выдаются всех юзеров
как можно сделать вывод постов тольеко того юзера к которому они привязаны?
Андрей
Тигран
Denis
Андрей
Valera
Tishka17
Спасибо
Вообще хз как в джанге, там часто всякие антипаттерны юзаются.
Valera
Tishka17
Например, юнит тесты, которые лазят в реальную базу вместо заглушки
Nikolay
Понедельник - день тяжелый
Nikolay
Denis
Denis
Смысл мокать модели?
Tishka17
Чтобы убедиться, что ты тестируешь именно модуль, а не все целиком
Nikolay
что вымачиваете?
Tishka17
Ну я и говорю, вместо юнит теста, получаешь интеграционный
Denis
Какой смысл тестировать модуль отдельно?
Nikolay
Tishka17
Denis
Ты можешь написать юнит-тесты, тебе никто не запретит
Tishka17
Я не говорю, что это плохо. Просто это уже не юнит тесты
Tishka17
И это усложняет тестирование
Denis
Но одними ими точно не обойдешься
Tishka17
Вместо того, чтобы замокать один вызов, тебе приходится целую базу поднимать. А это не быстро
Tishka17
Denis
Tishka17
Denis
Он же не данные туда вставляет
Tishka17
Дропнуть базу, прогнать все миграции и засунуть туда тестовые данные? На каждый тест по несколько секунд. На сто тестов уже несколько минут. А это мало тестов
Denis
Он прогоняет миграции один раз в начале
Tishka17
Denis
А потом?
А потом вроде создает транзакцию, в ней делает тест и откатывает. Но я в этом не сильно шарю, утверждать не буду
Tishka17
Эм, не всегда можно одной транзакцией обойтись
Tishka17
Да и не все базы умеют вложенные транзакции, а ты наверняка в коде юзаешь
Valera
Tishka17
Tishka17
Или это пара ручек всего
Valera
ключевое слово "пока"
Denis
Для микросервиса нормально
Tishka17
Ну да
Nikolay
С админом нельзя ругаться
Valera
Никто не ругается) Это обсуждение
Nikolay
Сходка таксистов
Tishka17
Да норм
Valera
Все равно насчет мока, того вопроса что я скидывал. Если я все-таки решу продолжить с патчем.
Мне по сути нужно просто подменить весь оргинальный класс на фейковый.
Если даже это была бы обычная тест функция, как там организовать этот момент - подмена одноого класса на другой?
Nikolay
🍆
Fuckyeah
#Работа
Нужно написать бота для чата активности для тг с простой регистрацией и проверкой в инстаграме на наличие активности лайк/коммент/сохранение от участника чата разместивший свой ник, если действие не совершенно – предупреждение или кик с чата.
1) Вход в чат активности
Бот встречает нового юзера с сообщения
Привет, @ник_тг! Внимательно прочитайте правила. (ссылка на закрепленную запись в чате)
2) Размещение пользователем сообщение начиная с юзернайм в инсте с восклицательными знаками - !!ник_инстаграм78
3) Далее ссылка на пост, который нужно откомментить, лайкнуть, добавить в закладки Требование к ссылкам, которые пишутся в сообщении, есть лишний код или ютм метки нужно удалять. Нужно, что бы бот удалял неправильные ссылки в чате в которых есть UTM метка или другие лишние коды, как правило они начинаются с «?» знака.
пример НЕ правильной ссылки
https://www.instagram.com/p/A2hnvaK/?utm_source=ig_sh..
Правильная ссылка
https://www.instagram.com/p/A2hnvaK/
4) После того, как пользователь скинул свою ссылку, ему необходимо откоментить, лайкнуть или добавить в закладки (в зависимости от задания) 7 ссылок от пользователей, размещенных перед ним в чате активности, своим инстаграм профилем.
5) Если задание на комментарий, необходимо чтобы бот проверял чтобы было минимум 4 слова по 3 буквы в коменте от пользователя.
6) Бот проверяет профили пользователей в инстаграм на выполнение задания (лайк, коммент, сохранение). Если бот не находит выполненное задание, пользователь в телеграм получает сообщение о нарушении правил чата и выдает предупреждение о удалении. Повторное нарушение правил чата - удаление навсегда (восстановление платное).
7) Так же имеется ВИП доступ для пользователей. Человек, который приобрел ВИП доступ может просто скидывать ссылки в чат, но он не обязан лайкать, коментить и оставлять закладки. Его бот должен пропускать и не удалять из чата за неактивность на других страницах в инстаграм.
сроки и цену в лс
Костянтин
Интересно, мне кажется за такое 1-2к зелёных
А вы че скажете, эксперты ?
🍁 Jaŭhien
Костянтин
Костянтин
Бабки взять может но не сделает)
🍁 Jaŭhien
Ну мб и не сделает, но попробует =)
Vladislav
Друзья, а как называется эта хрень ?
python2 << EOF
import sys
print sys.version
print 'custom data'
EOF
хочу погуглить-почитать.
Имею ввиду запуск программы из bash-a с передачей агрумента таким-вот оператором (или что это?): >>