Эта книга - развивает тему, начатую в “Чистой работе” от дядюшки Боба. Например, в этой книге, не смотря на название, рассматриваются не только юнит тесты, но и интеграционные, вместе с сквозными, тестирование базы данных и даже антипаттерны. В общем, получается отличное продолжение. Немного жаль, что примеры на C#, но они настолько простые, что мне это совершенно не мешало, при том что первый раз увидел код на этом языке.
В книге продвигается концепция разделения кода на четыре категории, в зависимости от сложности и количества зависимостей. И в зависимости от того, к какой категории относится код - предлагается применять ту или иную стратегию тестирования. Причем, отмечается что есть категория, код которой тяжело тестировать (и тут я с ним согласен полностью) и предложения, как можно переработать его, для упрощения тестирования и сопровождения в целом, другими словами - план рефакторинга. В общем, в книге хорошо рассмотрена связь тестов и кода, и идея того, что упрощение кода для тестирования помогает в целом улучшению структуры кода в проекте. Весь материал сопровождается примерами кода, который постепенно развивается, что помогает лучше понять идеи.
Из мелочей, например, автор предлагает рассматривать юнит не как пакет или модуль, а как единицу поведения и приводит прекрасные примеры. Или вот, как определить, является ли функция чистой или нет - просто подставив для проверки результат работы функции, её значение. Если так получается сделать и работы приложения не нарушена, значит функция (метод) была чистой, если же работа нарушается, значит в функции есть какое-то побочное действие. Вроде бы, мелочь, которая итак должна быть ясна, но для новичков может быть не очевидна.
При этом раздел о тестировании базы данных сам по себе мне кажется спорным, какие-то там безапелляционные заявления, нет ни слова о фикстурах и пр. Еще из минусов могу отметь некоторую многословность. С другой стороны, даже есть поговорка: “повторение - мать ученья”! В общем, это не портит общего впечатления. А оно точно хорошее, книга читается быстро, материал хорошо изложен, все просто и понятно… С учетом не большой цены, могу только порекомендовать всем, кто борется за качество кода.
Оригинальное издание было выпущено издательством Manning и у “Питера” есть целая серия книг этого издательства. Все они выполнены в едином стиле: средний формат, мягкая глянцевая обложка, хорошая полиграфия. Не знаю даже, что еще добавить.
Автор(ы):
- Хориков Владимир
Год издания: 2024
Количество страниц: 320
Оценка: 5/5
Издатель: Питер
Ссылка на страницу книги на сайте издательства: https://www.piter.com/collection/bestsellery-manning/product/printsipy-yunit-testirovaniya
Оригинальное название: Unit Testing Principles, Practices, and Patterns
Год издания оригинала: 2020