Все об интеграционном и модульном тестировании. TDD и Моки | Илья Ильиных | #45
В этом выпуске мы поговорили с Ильёй Ильиных , автором канала «Куда войти», и вместе выяснили, что на самом деле скрывается за трёхбуквием TDD. Обсудили бережливое тестирование, разобрали плюсы и минусы diamond-подхода, поспорили о юнит-тестах, интеграционных проверках и вечной боли MockBean в Spring. Поделились приёмами, как типизация в Go и TypeScript сокращает объём тестов, и показали, как застраховать легаси-код, не притормаживая релизы. ✅ Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog – Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321 – Смотреть в YouTube: https://youtu.be/SEfAGnQURQs Вы узнаете, когда тесты ускоряют работу, а когда превращаются в тормоз, как выбрать «достаточный минимум» покрытий и перестать бояться рефакторинга. Не пропустите — в конце даём чек-лист для мягкого внедрения TDD и советы, которые помогут команде прокачать уровень программирования В этом видео: 00:00 — Введение. Почему юнит-тесты не работают? 01:52 — Go в бою: опыт, миграции и сравнение с Rails 05:40 — Как нейросети и личный опыт влияют на качество тестов 10:24 — Пирамида тестирования, стратегии и интеграционные тесты 14:11 — Библиотеки, транзакции и альтернативные подходы 18:56 — Критика пирамиды, микросервисы и сила интеграционных тестов 23:38 — Мифы, сложности написания и важность интеграционного подхода 31:14 — Дебаггинг, логирование и тесты для сложных кейсов 35:03 — Spring Boot, юниты и проблемы с SQL 40:41 — Тесты пользователей, репозитории и события 47:18 — Проблемы с интеграцией Spring Boot и различия между моками и стабами 53:58 — Оптимизация, контекст и TDD в действии 01:00:36 — GitHub, редиректы, обновление и инструменты 01:04:25 — Кассеты, документация и безопасность 01:10:07 — Фикстуры: от введения до организации данных 01:16:44 — Оверкил, дизайн и тестирование в разных языках 01:24:23 — Go, производительность и интеграция 01:30:08 — Express, Spring и тестирование контроллеров 01:35:52 — TypeScript, Fastify и дизайн-first API 01:40:38 — Плагины, история тестов и рефакторинг 01:49:03 — Моки, стабы и влияние на архитектуру 01:57:32 — Ментальные модели, API и сравнение Go и Drizzle 02:07:01 — Решения проблем, инструменты и тяжёлое наследие 02:15:34 — Прагматичный подход, TDD и архитектурные выводы 02:27:55 — Заключение #TDD #тестирование #разработка #бэкенд #GoLang #Java #код #юниттесты #интеграция #программирование #техдолг #продакшн #тесты #автотесты #подкаст Нужно ли писать юнит-тесты? Дебаты о TDD, моках и бережливом тестировании | Илья Ильиных | #45
В этом выпуске мы поговорили с Ильёй Ильиных , автором канала «Куда войти», и вместе выяснили, что на самом деле скрывается за трёхбуквием TDD. Обсудили бережливое тестирование, разобрали плюсы и минусы diamond-подхода, поспорили о юнит-тестах, интеграционных проверках и вечной боли MockBean в Spring. Поделились приёмами, как типизация в Go и TypeScript сокращает объём тестов, и показали, как застраховать легаси-код, не притормаживая релизы. ✅ Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog – Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321 – Смотреть в YouTube: https://youtu.be/SEfAGnQURQs Вы узнаете, когда тесты ускоряют работу, а когда превращаются в тормоз, как выбрать «достаточный минимум» покрытий и перестать бояться рефакторинга. Не пропустите — в конце даём чек-лист для мягкого внедрения TDD и советы, которые помогут команде прокачать уровень программирования В этом видео: 00:00 — Введение. Почему юнит-тесты не работают? 01:52 — Go в бою: опыт, миграции и сравнение с Rails 05:40 — Как нейросети и личный опыт влияют на качество тестов 10:24 — Пирамида тестирования, стратегии и интеграционные тесты 14:11 — Библиотеки, транзакции и альтернативные подходы 18:56 — Критика пирамиды, микросервисы и сила интеграционных тестов 23:38 — Мифы, сложности написания и важность интеграционного подхода 31:14 — Дебаггинг, логирование и тесты для сложных кейсов 35:03 — Spring Boot, юниты и проблемы с SQL 40:41 — Тесты пользователей, репозитории и события 47:18 — Проблемы с интеграцией Spring Boot и различия между моками и стабами 53:58 — Оптимизация, контекст и TDD в действии 01:00:36 — GitHub, редиректы, обновление и инструменты 01:04:25 — Кассеты, документация и безопасность 01:10:07 — Фикстуры: от введения до организации данных 01:16:44 — Оверкил, дизайн и тестирование в разных языках 01:24:23 — Go, производительность и интеграция 01:30:08 — Express, Spring и тестирование контроллеров 01:35:52 — TypeScript, Fastify и дизайн-first API 01:40:38 — Плагины, история тестов и рефакторинг 01:49:03 — Моки, стабы и влияние на архитектуру 01:57:32 — Ментальные модели, API и сравнение Go и Drizzle 02:07:01 — Решения проблем, инструменты и тяжёлое наследие 02:15:34 — Прагматичный подход, TDD и архитектурные выводы 02:27:55 — Заключение #TDD #тестирование #разработка #бэкенд #GoLang #Java #код #юниттесты #интеграция #программирование #техдолг #продакшн #тесты #автотесты #подкаст Нужно ли писать юнит-тесты? Дебаты о TDD, моках и бережливом тестировании | Илья Ильиных | #45