#46 Нужно ли писать юнит-тесты? Дебаты о TDD, моках и бережливом тестировании | Илья Ильиных
В этом выпуске мы поговорили с Ильёй Ильиных , автором канала «Куда войти», и вместе выяснили, что на самом деле скрывается за трёхбуквием TDD. Обсудили бережливое тестирование, разобрали плюсы и минусы diamond-подхода, поспорили о юнит-тестах, интеграционных проверках и вечной боли MockBean в Spring. Поделились приёмами, как типизация в Go и TypeScript сокращает объём тестов, и показали, как застраховать легаси-код, не притормаживая релизы.Вы узнаете, когда тесты ускоряют работу, а когда превращаются в тормоз, как выбрать «достаточный минимум» покрытий и перестать бояться рефакторинга. Не пропустите — в конце даём чек-лист для мягкого внедрения TDD и советы, которые помогут команде прокачать уровень программирования
(00:00) - — Введение. Почему юнит-тесты не работают
(01:15) - — Go в бою: опыт, миграции и сравнение с Rails
(05:03) - — Как нейросети и личный опыт влияют на качество тестов
(09:47) - — Пирамида тестирования, стратегии и интеграционные тесты
(13:34) - — Библиотеки, транзакции и альтернативные подходы
(18:19) - — Критика пирамиды, микросервисы и сила интеграционных тестов
(23:01) - — Мифы, сложности написания и важность интеграционного подхода
(30:37) - — Дебаггинг, логирование и тесты для сложных кейсов
(34:26) - — Spring Boot, юниты и проблемы с SQL
(40:04) - — Тесты пользователей, репозитории и события
(46:41) - — Проблемы с интеграцией Spring Boot и различия между моками и стабами
(53:21) - — Оптимизация, контекст и TDD в действии
(59:59) - — GitHub, редиректы, обновление и инструменты
(01:03:48) - — Кассеты, документация и безопасность
(01:09:30) - — Фикстуры: от введения до организации данных
(01:15:07) - — Оверкил, дизайн и тестирование в разных языках
(01:22:46) - — Go, производительность и интеграция
(01:28:31) - — Express, Spring и тестирование контроллеров
(01:34:15) - — TypeScript, Fastify и дизайн-first API
(01:40:01) - — Плагины, история тестов и рефакторинг
(01:48:26) - — Моки, стабы и влияние на архитектуру
(01:56:55) - — Ментальные модели, API и сравнение Go и Drizzle
(02:06:24) - — Решения проблем, инструменты и тяжёлое наследие
(02:14:57) - — Прагматичный подход, TDD и архитектурные выводы
(02:27:18) - — Заключение
★ Support this podcast ★