Size: a a a

2020 January 02

AN

Anton Nemtsev in Frontend UA
Vitaly
кто как думает, нужно вызов каждой async функции оборачивать в try catch?
да, что бы обрабатывать ошибки
они всегда обрабатываются уровнем выше
источник

EO

Eugene Obrezkov in Frontend UA
Evgen
Реальные запросы в тестах? Не, не нужно
Реальная польза от тестов? Не, не нужно
источник

DZ

Dmitry Zherebko in Frontend UA
с этими тестами или бесполезные или flaky
источник

E

Evgen in Frontend UA
Eugene Obrezkov
Реальная польза от тестов? Не, не нужно
При чем тут это?
источник

EO

Eugene Obrezkov in Frontend UA
Evgen
При чем тут это?
Тестировать эндпоинты моками - лучше просто их не писать, зря потраченное время
источник

E

Evgen in Frontend UA
Eugene Obrezkov
Тестировать эндпоинты моками - лучше просто их не писать, зря потраченное время
Не совсем понял тебя. Тестировать реальными запросами эндпоинты -  это ок?
источник

EO

Eugene Obrezkov in Frontend UA
Evgen
Не совсем понял тебя. Тестировать реальными запросами эндпоинты -  это ок?
Ок
источник

DB

Dima Bildin in Frontend UA
В е2е тестах ок, но тоже зависит от ситуации
источник
2020 January 03

LK

Leonid Kuznetsov in Frontend UA
Лучше сделать моку(json или объект) и отдаватб сразу как респонс и смотреть как отреагирует функция. Обычно делают success и failed case, в failed соответственно кидают new Error()
источник

EO

Eugene Obrezkov in Frontend UA
И часто команда актуализирует моки под новое поведение эндпоинта? А вы даже не узнаёте что сломалось что-то, потому что моки...
источник

Дп

Джон простоДжон in Frontend UA
Eugene Obrezkov
И часто команда актуализирует моки под новое поведение эндпоинта? А вы даже не узнаёте что сломалось что-то, потому что моки...
делаешь файлик с factory объектов в папке с тестами, которые инстанциируют тот же класс респонс объектов, что и в настоящем хендлере - вуаля
источник

Дп

Джон простоДжон in Frontend UA
добавляешь рандомной генерации по вкусу от фейкера, получаешь бесплатно больше эдж кейсов, о которых не думал
источник

Дп

Джон простоДжон in Frontend UA
А вообще, черт знает, что тестят, поэтому сложно советовать. Если нужен условно живой АПИ для клиента, то записывать кассеты и перепроигрывать их, бонусные очки, если есть еще отдельная джоба/таска для перезаписи. Ну и можно настроить, что если апи доступно - идем туда и заодно кассеты перезаписываем, иначе, проигрываем кассеты и можем теститься оффлайн
источник

EO

Eugene Obrezkov in Frontend UA
Джон простоДжон
делаешь файлик с factory объектов в папке с тестами, которые инстанциируют тот же класс респонс объектов, что и в настоящем хендлере - вуаля
Это удобно, да. Но не со всеми сущностями так выйдет (я не только за CRUD, есть и посложнее ;). Тем не менее вариант хорош.
источник

EO

Eugene Obrezkov in Frontend UA
Джон простоДжон
А вообще, черт знает, что тестят, поэтому сложно советовать. Если нужен условно живой АПИ для клиента, то записывать кассеты и перепроигрывать их, бонусные очки, если есть еще отдельная джоба/таска для перезаписи. Ну и можно настроить, что если апи доступно - идем туда и заодно кассеты перезаписываем, иначе, проигрываем кассеты и можем теститься оффлайн
Я на моках для эндпоинтов столько говна съел, что поцепил на них ярлык. Если тестировать конечную ручку, то лучше вместо написания юнита, потратить чуть больше времени и написать интеграционный - все таки, конечный пользователь будет не разработчик из твоей команды
источник

Дп

Джон простоДжон in Frontend UA
Eugene Obrezkov
Это удобно, да. Но не со всеми сущностями так выйдет (я не только за CRUD, есть и посложнее ;). Тем не менее вариант хорош.
ну boundaries должны быть, если что-то сложное - логика тестится в том проекте, что логику делает, ты уже рассчитываешь, что работаешь просто с респонсами, ведь не нужно сложную логику в двух местах тестить. А вот если там сложная логика с "если то, то делай такой запрос, иначе такой и получай вот это" то может что-то не так глобально с распределением этой самой логики и плохо размазано
источник

Дп

Джон простоДжон in Frontend UA
Eugene Obrezkov
Я на моках для эндпоинтов столько говна съел, что поцепил на них ярлык. Если тестировать конечную ручку, то лучше вместо написания юнита, потратить чуть больше времени и написать интеграционный - все таки, конечный пользователь будет не разработчик из твоей команды
ну в основном что юнит тесты, что интеграционные означают app = create_app(), test_client = app.get_test_client() и дальше реквест/респонс ассерты сильно большой разницы не вижу. Единственное, что если у вас все на сервисах и внутри хендлера только валидация входящих данных и превращение исходящего домена в жсон а посередине вызов MyCoolLogic(params).perform(), то иногда проще/быстрее юнит тестами проверить отдельно сервис, интеграционными тестами - чисто валидации. Потому что сервис ты может еще переиспользовать будешь

*quickfix
источник

Дп

Джон простоДжон in Frontend UA
или мой мозг закостенел и я чего-то не улавливаю?
источник

EO

Eugene Obrezkov in Frontend UA
Не не, я о юнит тестах, которые через nock перехватывают vs. поднять локально апишку, чтобы контроллер реально сработал
источник

SS

Serhey Shmyg in Frontend UA
Доброго ранку, з АПІ нової пошти ніхто не працював? Є питання з приводу зворотньої доставки і банківської картки. Можливо був в кого небудь досвід?
источник