Дебаты: юнит тесты против интеграционных с Александром Макаровым #70

Юниты против интеграционных тестов — вечный спор, который кажется простым только до первого реального проекта. В этом выпуске у нас в гостях Александр Макаровов — 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_45... 🔹 Telegram-канал Организованного Программирования: https://t.me/orgprog 🔹Хекслет Клуб в Telegram https://t.me/HexletClubBot В этом видео: 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 — Заключение: почему истина всегда где-то посередине #кириллмокевнин #александрмакаров #интеграционныетесты #программирование #php #backend #разработка #it #подкаст Дебаты: юнит тесты против интеграционных с Александром Макаровым

Монолит или микросервисы?  Что выбрать в 2026  | Алексей Солодкий #76
▶︎

Монолит или микросервисы? Что выбрать в 2026 | Алексей Солодкий #76

ТИРЛИСТ ВЕЩЕЙ, КОТОРЫЕ РАЗРУШАТ ТВОЮ ПСИХИКУ (ОТ ВРАЧА-ПСИХОТЕРАПЕВТА)
▶︎

ТИРЛИСТ ВЕЩЕЙ, КОТОРЫЕ РАЗРУШАТ ТВОЮ ПСИХИКУ (ОТ ВРАЧА-ПСИХОТЕРАПЕВТА)

Senior 1C: 10 Habits You Can't Grow Without
▶︎

Senior 1C: 10 Habits You Can't Grow Without

ORM vs SQL — Дебаты: что побеждает в реальных проектах? Александр Вершилов #50
▶︎

ORM vs SQL — Дебаты: что побеждает в реальных проектах? Александр Вершилов #50

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains
▶︎

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains

Самый умный комик. Выпуск 33 [Соболев, Джабраилова, Зубков, Малой]
▶︎

Самый умный комик. Выпуск 33 [Соболев, Джабраилова, Зубков, Малой]

ИИ в геймдеве: X40 ускорение, агентный пайплайн, нейронное TDD | Дмитрий Разумовский, Nexters, Кипр
▶︎

ИИ в геймдеве: X40 ускорение, агентный пайплайн, нейронное TDD | Дмитрий Разумовский, Nexters, Кипр

97 минут, которые ИЗМЕНЯТ ваш взгляд на происхождение людей | Александр Панов
▶︎

97 минут, которые ИЗМЕНЯТ ваш взгляд на происхождение людей | Александр Панов

Capture of Konstantinovka, the Tanker Fleet with Machine Guns, and the “Red Ram”
▶︎

Capture of Konstantinovka, the Tanker Fleet with Machine Guns, and the “Red Ram”

RL for Agents Workshop - Deep Dive on Training Agents with RL and Open Source
▶︎

RL for Agents Workshop - Deep Dive on Training Agents with RL and Open Source

ЭНЕРГИЯ после 35. Большинство людей стареют в 2 раза быстрее, не зная то, что реально влияет на него
▶︎

ЭНЕРГИЯ после 35. Большинство людей стареют в 2 раза быстрее, не зная то, что реально влияет на него

Все об интеграционном и модульном тестировании. TDD и Моки | Илья Ильиных | #45
▶︎

Все об интеграционном и модульном тестировании. TDD и Моки | Илья Ильиных | #45

The Frequency of God 963 Hz - Attract love, protection, wealth, miracles and blessings without limit
▶︎

The Frequency of God 963 Hz - Attract love, protection, wealth, miracles and blessings without limit

C++ сегодня: меньше магии — больше инженерии | Дмитрий Свиридкин | #58
▶︎

C++ сегодня: меньше магии — больше инженерии | Дмитрий Свиридкин | #58

Event Storming на практике: как моделировать сложные системы #71
▶︎

Event Storming на практике: как моделировать сложные системы #71

My Survival Strategy With 15 Years of Dev Experience: Thoughts on AI
▶︎

My Survival Strategy With 15 Years of Dev Experience: Thoughts on AI

The AI Blueprint: How To Use AI To Make Millions, & Change Your Life w/ Alicia Lyttle 🚀
▶︎

The AI Blueprint: How To Use AI To Make Millions, & Change Your Life w/ Alicia Lyttle 🚀

Как прожить эпоху войн и катастроф? Философ про жизнь после кризисов. Бронислав Виногродский
▶︎

Как прожить эпоху войн и катастроф? Философ про жизнь после кризисов. Бронислав Виногродский

Прожарка: Стоит ли писать на Spring Boot в 2026? | Валерий Жила | №65
▶︎

Прожарка: Стоит ли писать на Spring Boot в 2026? | Валерий Жила | №65

Mysteries of Everyday Things, the Secret of the Infinite Chocolate Bar, and How Your GPS Deceives...
▶︎

Mysteries of Everyday Things, the Secret of the Infinite Chocolate Bar, and How Your GPS Deceives...