
#70 Дебаты: юнит тесты против интеграционных с Александром Макаровым
Организованное программированиеShow Notes
Юниты против интеграционных тестов — вечный спор, который кажется простым только до первого реального проекта. В этом выпуске у нас в гостях Александр Макаровов — core-разработчик PHP-фреймворка Yii. Мы разобрали, почему формальные определения тестов почти не работают в живых системах и где на практике проходит граница между «юнитом», «модулем» и «интеграцией». Мы поговорили о тестировании прикладных веб-приложений и библиотек, сравнили Active Record и Data Mapper, разобрали, когда тесты обязаны ходить в базу, а когда моки — вынужденное зло. Посмотрели реальные репозитории активно развивающихся проектов написанных на Laravel и Rails, фреймворки и коммерческие проекты, и увидели, как на самом деле пишутся тесты в продакшене, а не в книжках. Обсудили фикстуры, транзакции, rollback’и, SQLite in-memory, UUID, миграции, тесты контроллеров, сервисов и джобов.
Полезные ссылки: https://t.me/samdark_blog Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog – Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321 – Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239227 🔹 Telegram-канал Организованного Программирования: https://t.me/orgprog 🔹Хекслет Клуб в Telegram https://t.me/HexletClubBot
#кириллмокевнин #александрмакаров #интеграционныетесты #программирование #php #backend #разработка #it #подкаст Дебаты: юнит тесты против интеграционных с Александром Макаровым
(00:00) - этом видео:
(00:00) - — Добро пожаловать в подкаст: почему третий релиз фреймворка ждали годами — и при чём тут тесты?
(02:13) - — О чём сегодня будет спор: юнит-тесты против интеграционных — кто победит?
(07:37) - — Юнит-тесты на практике: функция, класс или публичный API
(11:14) - — Почему формального определения не существует: юнит-тесты, которые не юнит-тесты
(15:05) - — Внутренний интерфейс — трогать или нет: почему тесты не должны лезть в кишки системы
(26:18) - — Архитектура vs гигиена: что действительно важно в прикладных проектах
(37:15) - — Рефакторинг без боли: какие тесты действительно помогают менять код
(47:53) - — Работа с базой данных: транзакции, откаты и скорость тестов
(59:49) - — Плюсы и минусы высокоуровневых тестов
(01:08:11) - — Open-source vs коммерция: почему одинаковые подходы не работают
(01:25:45) - — Все типы тестов в реальном проекте
(01:42:55) - — Docker и файловая система: неочевидные проблемы масштабирования
(01:54:10) - — Сила декларативного подхода: почему CI/CD — идеальная среда для AI
(02:01:20) - — Заключение: почему истина всегда где-то посередине
★ Support this podcast ★
More from Организованное программирование
🔹 Присоединяйся к курсу «Системный дизайн» https://ru.hexlet.io/programs/system-design?utm_source=youtube
🔹 Присоединяйся к курсу «Системный дизайн» https://ru.hexlet.io/programs/system-design?utm_source=youtube
🔹 Присоединяйся к курсу «Системный дизайн» https://ru.hexlet.io/programs/system-design?utm_source=youtube🔹 Ускоряем разработку ПО с помощью AI: https://praxor.ru/?utm_source=youtube 🔹 Присоединяйся к курсам по AI в Хекслет: https://ru.hexlet.io/courses_artificial-intelligence?utm_source=youtube
🔹 Присоединяйся к курсу «Системный дизайн» https://ru.hexlet.io/programs/system-design?utm_source=youtube🔹 Ускоряем разработку ПО с помощью AI: https://praxor.ru/?utm_source=youtube 🔹 Присоединяйся к курсам по AI в Хекслет: https://ru.hexlet.io/courses_artificial-intelligence?utm_source=youtube
🔹 Присоединяйся к курсу «Системный дизайн» https://ru.hexlet.io/programs/system-design?utm_source=youtube