Podcasts · Организованное программирование

#46 Нужно ли писать юнит-тесты? Дебаты о TDD, моках и бережливом тестировании | Илья Ильиных

· 2 h 30 min · Episode 46

Episode #46 Нужно ли писать юнит-тесты? Дебаты о TDD, моках и бережливом тестировании | Илья Ильиных

0:00 2:30:21

В этом выпуске мы поговорили с Ильёй Ильиных , автором канала «Куда войти», и вместе выяснили, что на самом деле скрывается за трёхбуквием 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 ★

The episode on the publisher’s site (opens in a new tab)

Shows are listed from Apple Podcasts' charts and directory, and Podcast Index where it is used. Every show and episode belongs to its publisher and plays from the publisher's own feed; this site hosts none of them. Explicit shows are for adult profiles only, and children’s profiles hear only children’s shows. More about this list.