
Ushage
30.04.2019
15:44:38
Почему вместо кириллицы какие-то иероглифы?

Tishka17
30.04.2019
15:44:51
по качану
следующий

Denis
30.04.2019
15:45:03

Google

Nikolay
30.04.2019
15:45:35
в бегинерсы

Ushage
30.04.2019
15:45:36
??♂️

Denis
30.04.2019
15:45:55
Там приличные люди

Nikolay
30.04.2019
15:46:20

Denis
30.04.2019
15:46:25
Да

Леонид
30.04.2019
15:46:57

?
30.04.2019
15:48:20
время протирать требушет ?

Nikolay
30.04.2019
15:48:35
Время протирать требушет ?

Леонид
30.04.2019
15:48:52

Tishka17
30.04.2019
16:11:57

Google

Tishka17
30.04.2019
16:11:57
Эм. Вероятно он висит на send_message. У тебя там вообще РКН нету?

Леонид
30.04.2019
16:13:06

Валерий
30.04.2019
16:17:17
Привет, снова я с моками для тестов. Все никак не могу разобарться. Помогите разобраться плиз
https://ru.stackoverflow.com/questions/976722/unittest-in-django-mock-singleton-instance-for-tests

Леонид
30.04.2019
16:17:57

Егор
30.04.2019
16:19:06

Валерий
30.04.2019
16:20:08
@pydjango
Там вопрос, касателный в основном питона

Denis
30.04.2019
16:20:52

Валерий
30.04.2019
16:21:15

Denis
30.04.2019
16:21:54
в плане?
@patch('module.vimeo_gateway', your_object)
def test()

Tishka17
30.04.2019
16:22:15
Так, не по теме вопроса, но все же: именовать лучше в виде snake_case все кроме классов. А вывод времени в лог лучше сделать один раз в логгере, чем каждый раз в принте. Гугли logging

Валерий
30.04.2019
16:22:40

Denis
30.04.2019
16:22:55

Tishka17
30.04.2019
16:23:02
А у тебя случайно не несколько потоков?

Denis
30.04.2019
16:23:22
Ты вообще что-то странное там делаешь

Валерий
30.04.2019
16:23:22
Так сделай
так мне так не надо
если бы нужно было, вопрос был бы по-другому

Леонид
30.04.2019
16:23:28

Denis
30.04.2019
16:23:55
Зачем mock = FakeVideo(), если это нигде больше не используется

Tishka17
30.04.2019
16:24:26

Denis
30.04.2019
16:24:40
И ты уверен, что код к нему именно по этому пути обращается?
Патч принимает второй аргумент, если что

Google

Леонид
30.04.2019
16:25:06

Tishka17
30.04.2019
16:25:29
Зачем вообще патч?

Валерий
30.04.2019
16:26:08

Tishka17
30.04.2019
16:26:18
Это типа мы не осилили DI и поэтому по-быстрому залепим как получится?

Валерий
30.04.2019
16:28:17

Tishka17
30.04.2019
16:28:49
В зависимости от ситуации, могут быть разные проблемы
От "я замокал, а он лезет не туда" и "я замокал и оно начало падать", до тестирования внутренней структуры вместо логики работы

Валерий
30.04.2019
16:32:30
Понял, но вы так и не дали дельного совета, что можно и нужно делать
Использовать DI или продолжить с mock. Если с mock, в чем тогда ошибка, куда посомтреть примеры, что почитать. Если DI - куда там рыть?

Tishka17
30.04.2019
16:41:19
Если DI, то твой объект, который обращается к SomethingVideo должен получать снаружи ссылку на его инстанс (лучше - в ините). Тогда ты в проде передаешь свой VimeoVideo, а в тестах FakeVideo и ничего патчить не надо

Валерий
30.04.2019
16:42:27

Андрей
30.04.2019
16:42:42
ку) кто с django работает?
у меня проблема
есть блог и на странице выдаются посты, но...
Посты выдаются всех юзеров
как можно сделать вывод постов тольеко того юзера к которому они привязаны?

Tigran
30.04.2019
16:43:13

Denis
30.04.2019
16:43:28

Tishka17
30.04.2019
16:43:53

Андрей
30.04.2019
16:45:05

Tishka17
30.04.2019
16:45:31

Google

Валерий
30.04.2019
16:45:46

Tishka17
30.04.2019
16:46:09
Спасибо
Вообще хз как в джанге, там часто всякие антипаттерны юзаются.

Валерий
30.04.2019
16:46:47

Tishka17
30.04.2019
16:46:51
Например, юнит тесты, которые лазят в реальную базу вместо заглушки

Nikolay
30.04.2019
16:47:15
Понедельник - день тяжелый

Denis
30.04.2019
16:47:25

Андрей
30.04.2019
16:47:50

Nikolay
30.04.2019
16:48:24

Tishka17
30.04.2019
16:48:33

Denis
30.04.2019
16:49:01
Смысл мокать модели?

Tishka17
30.04.2019
16:49:35

Denis
30.04.2019
16:49:55

Tishka17
30.04.2019
16:49:57
Чтобы убедиться, что ты тестируешь именно модуль, а не все целиком

Nikolay
30.04.2019
16:50:16
что вымачиваете?

Tishka17
30.04.2019
16:50:22
Ну я и говорю, вместо юнит теста, получаешь интеграционный

Denis
30.04.2019
16:50:22
Какой смысл тестировать модуль отдельно?

Nikolay
30.04.2019
16:50:48

Tishka17
30.04.2019
16:50:56

Denis
30.04.2019
16:51:03
Ты можешь написать юнит-тесты, тебе никто не запретит

Google

Tishka17
30.04.2019
16:51:09
Я не говорю, что это плохо. Просто это уже не юнит тесты
И это усложняет тестирование

Denis
30.04.2019
16:51:15
Но одними ими точно не обойдешься

Tishka17
30.04.2019
16:51:35
Вместо того, чтобы замокать один вызов, тебе приходится целую базу поднимать. А это не быстро

Denis
30.04.2019
16:51:59

Tishka17
30.04.2019
16:52:08

Denis
30.04.2019
16:52:30
Он же не данные туда вставляет

Tishka17
30.04.2019
16:52:54
Дропнуть базу, прогнать все миграции и засунуть туда тестовые данные? На каждый тест по несколько секунд. На сто тестов уже несколько минут. А это мало тестов

Denis
30.04.2019
16:53:19
Он прогоняет миграции один раз в начале

Tishka17
30.04.2019
16:53:52

Denis
30.04.2019
16:54:30
А потом?
А потом вроде создает транзакцию, в ней делает тест и откатывает. Но я в этом не сильно шарю, утверждать не буду

Tishka17
30.04.2019
16:54:54
Эм, не всегда можно одной транзакцией обойтись
Да и не все базы умеют вложенные транзакции, а ты наверняка в коде юзаешь

Валерий
30.04.2019
16:56:01

Tishka17
30.04.2019
16:56:42
Или это пара ручек всего

Валерий
30.04.2019
16:56:52
ключевое слово "пока"