Общее описание
Книга Владимира Хорикова «Принципы юнит-тестирования» посвящена системному и осмысленному подходу к автоматизированному тестированию кода. Автор рассматривает юнит-тестирование не как набор инструментов или фреймворков, а как инженерную дисциплину, тесно связанную с архитектурой приложения, качеством кода и поддерживаемостью системы в долгосрочной перспективе.
В книге подробно разбираются базовые принципы хороших тестов: изолированность, надёжность, читаемость и ценность для проекта. Отдельное внимание уделено различию между юнит- и интеграционными тестами, а также тому, где проходит граница между ними на практике. Автор последовательно объясняет, почему стремление тестировать «всё подряд» часто приводит к хрупким и бесполезным тестам.
Значительная часть книги посвящена архитектурным аспектам тестирования. Показано, как структура кода, зависимости и стиль проектирования напрямую влияют на сложность написания и поддержки тестов. Рассматриваются различные подходы к изоляции зависимостей, виды тестовых двойников и области их применения.
Также в книге анализируются метрики тестирования, такие как покрытие кода, и объясняется, почему высокие показатели покрытия сами по себе не гарантируют качества. Автор уделяет внимание рефакторингу тестов, поддержанию их актуальности и предотвращению деградации тестовой базы со временем.
Книга ориентирована на разработчиков, которые хотят глубже понять роль тестирования в процессе разработки и научиться писать тесты, действительно приносящие пользу проекту, а не создающие дополнительную нагрузку.
Мнение
Хорошая книга про тестирование кода. Помимо юнит-тестов также много внимания уделяется и интеграционным тестам. Детально разобраны Лондонская и классическая школы тестирования. Разобраны отличие code coverage и branch coverage, описано, какие требования должны предъявляться к тестам, какие бывают заглушки, и чем моки отличатся от стабов, какие бывают стили юнит-тестов, как правильно проводить рефакторинг тестов, как архитектура проекта влияет на тесты и многое другое. Так что, если вы думаете что хорошо знаете тестирование, то уверен что в этой книге сможете найти много чего интересного.