Size: a a a

Django [ru] #STAY HOME

2020 March 26

S

Serj in Django [ru] #STAY HOME
vadim chin
а че плохого с логикой во вьюхах?
Все. Как минимум - как для этого юнит тесты писать?
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Serj
Все. Как минимум - как для этого юнит тесты писать?
Как для обычной функции. Есть входные параметры, есть данные на выходе
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Serj
Все. Как минимум - как для этого юнит тесты писать?
а в чем проблема писать юнитесты ?
источник

vc

vadim chin in Django [ru] #STAY HOME
Serj
Все. Как минимум - как для этого юнит тесты писать?
функциональные даже не всегда есть
и что такого там может быть ядреного
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Что то кидаешь на вход, проверяешь правильность выхода
источник

S

Serj in Django [ru] #STAY HOME
Dan Tyan
а в чем проблема писать юнитесты ?
так если стучаться через встроенный клиент во вьюху то это не юнит тестирование уже, а интеграционное тестирование какое-то получается
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
🔐{% ɹoƃǝʎ %}
Что то кидаешь на вход, проверяешь правильность выхода
И так пока не покроешь каждое ветвление в функции
источник

S

Serj in Django [ru] #STAY HOME
🔐{% ɹoƃǝʎ %}
И так пока не покроешь каждое ветвление в функции
если во вьюхе много логики, ты задолбаешься покрывать все ветвления таким способом
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Serj
так если стучаться через встроенный клиент во вьюху то это не юнит тестирование уже, а интеграционное тестирование какое-то получается
ну это уже вопрос определений
но не вижу ничего плохого в том что есть
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Serj
если во вьюхе много логики, ты задолбаешься покрывать все ветвления таким способом
Если там много логики, то это проблема проектирования, а не тестов
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Serj
если во вьюхе много логики, ты задолбаешься покрывать все ветвления таким способом
не важно где лежит много логики
задолбаешься тестировать
источник

S

Serj in Django [ru] #STAY HOME
ну и конечно же стучаться во вьюху через апи клиент занимает много времени, если сравнивать в настоящими юнит тестами, на средних сайтах из-за этого время выполнения тестов может выходить за все рамки дозволенного
источник

vc

vadim chin in Django [ru] #STAY HOME
🔐{% ɹoƃǝʎ %}
Если там много логики, то это проблема проектирования, а не тестов
вот да
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Да и декомпозицию никто не отменял, разбиваешь свою логику на модули и тестируешь отдельно каждый
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
А в общей вьюхе мокаешь
источник

vc

vadim chin in Django [ru] #STAY HOME
Serj
ну и конечно же стучаться во вьюху через апи клиент занимает много времени, если сравнивать в настоящими юнит тестами, на средних сайтах из-за этого время выполнения тестов может выходить за все рамки дозволенного
вы сейчас абстрактно говорите? или есть пример когда именно тесты
у меня так обычно базу создает дольше и фикстурами наполняет
источник

S

Serj in Django [ru] #STAY HOME
Dan Tyan
не важно где лежит много логики
задолбаешься тестировать
ну согласись, что когда она инкапсулирована в сервисный объект, по методам и т.д., а вьюха является лишь "запускатором" этого кода, такой подход гораздо проще оттестировать, чем если бы все это было написано тупо во вьюхе
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Serj
ну и конечно же стучаться во вьюху через апи клиент занимает много времени, если сравнивать в настоящими юнит тестами, на средних сайтах из-за этого время выполнения тестов может выходить за все рамки дозволенного
Может, железо получше купишь?)
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Время их выполнения зависит от него и от скорости коннекта с базой
источник

🔐

🔐{% ɹoƃǝʎ %} in Django [ru] #STAY HOME
Ну и от ресурсов базы, конечно же
источник