Разработка через тестирование на Python — Harry Percival — обложка книги
614 страниц
Python
PDF
4.5

Разработка через тестирование на Python

TDD с Django, Selenium и JavaScript

Автор:

Год:

Краткое содержимое:

Введение

Книга Гарри Персиваля «Test-Driven Development with Python» (в русском переводе — «Разработка через тестирование на Python») — это не просто очередной учебник по Python. Это полноценное практическое руководство, которое погружает читателя в мир Test-Driven Development (TDD) на примере создания реального веб-приложения. Выпущенная в 2017 году (второе издание), книга остаётся актуальной и сегодня, особенно для тех, кто хочет освоить профессиональные практики разработки на Python с использованием Django и Selenium.

Автор — Гарри Персиваль, ведущий инженер в компании PythonAnywhere, известный своим опытом в области тестирования и веб-разработки. Он не просто объясняет теорию, а ведёт читателя шаг за шагом от пустого каталога до полностью работающего, протестированного приложения.

О чём эта книга?

Книга посвящена методологии Test-Driven Development (разработка через тестирование) применительно к веб-разработке на Python. Основной проект — создание простого приложения для ведения списков задач (To-Do lists) на базе Django. Однако настоящая ценность книги не в самом проекте, а в процессе: вы научитесь писать тесты до того, как написан код, и увидите, как это меняет архитектуру и качество конечного продукта.

Книга охватывает:

  • Основы TDD: красный-зелёный-рефакторинг (Red-Green-Refactor).
  • Функциональные тесты с Selenium.
  • Юнит-тесты для Django (модели, представления, формы).
  • Тестирование JavaScript с помощью QUnit и Sinon.js.
  • Непрерывная интеграция (CI) с Travis CI.
  • Развёртывание на сервере (PythonAnywhere, Heroku).
  • Работа с базами данных, миграции и тестовые фикстуры.
  • Mock-объекты и тестирование внешних сервисов.

Для кого эта книга?

Книга рассчитана на разработчиков, уже знакомых с основами Python и имеющих базовое представление о веб-фреймворках (желательно Django, но не обязательно). Если вы:

  • хотите писать более надёжный и поддерживаемый код;
  • устали от «отладки через print» и хотите автоматизировать проверки;
  • планируете работать в команде, где TDD является стандартом;
  • хотите понять, как тестировать не только backend, но и frontend (JavaScript);

— эта книга для вас. Новичкам в Python будет сложно: автор предполагает, что вы умеете устанавливать пакеты, работать с виртуальным окружением и понимаете основы ООП.

Что узнает читатель?

После прочтения книги вы сможете:

  • Писать тесты до кода и видеть, как это ускоряет разработку.
  • Использовать Selenium для имитации действий пользователя в браузере.
  • Тестировать Django-приложения на всех уровнях: от моделей до шаблонов.
  • Рефакторить код с уверенностью, что тесты поймают регрессию.
  • Настраивать CI/CD для автоматического прогона тестов.
  • Работать с Git в контексте TDD (частые коммиты, атомарные изменения).
  • Писать тесты для JavaScript и интегрировать их в общий процесс.

Сильные стороны книги

1. Практическая направленность. Вы не просто читаете теорию — вы пишете код вместе с автором. Каждая глава содержит конкретные шаги, команды в терминале и пояснения.

2. Постепенное усложнение. Начинается с простого «Hello, world» в тестах, а заканчивается развёртыванием на продакшн-сервере с HTTPS и статическими файлами.

3. Реалистичный проект. Приложение для списков задач — это не игрушечный пример, а полноценный проект, который можно расширять.

4. Охват современных инструментов. Selenium, Django, Git, Travis CI, PythonAnywhere — всё это реально используется в индустрии.

5. Подробные объяснения. Автор не просто даёт команды, а объясняет, почему именно так, а не иначе. Например, почему функциональные тесты должны быть отделены от юнит-тестов.

6. Акцент на рефакторинг. TDD — это не только написание тестов, но и постоянное улучшение кода. Книга учит этому на примерах.

Кому рекомендуется?

Книга будет полезна:

  • Junior и Middle Python-разработчикам, которые хотят повысить качество своего кода.
  • Django-разработчикам, желающим освоить TDD в контексте этого фреймворка.
  • Тимлидам и архитекторам, которые внедряют практики TDD в команде.
  • Студентам и выпускникам курсов, которые хотят выделиться на собеседовании знанием тестирования.

Если вы уже опытный разработчик, знакомый с TDD на других языках, книга может показаться местами затянутой — но как справочник по тестированию Django она всё равно ценна.

Заключение

«Test-Driven Development with Python» — это одна из лучших книг по TDD на Python. Она не только учит писать тесты, но и меняет подход к разработке в целом. После её прочтения вы вряд ли вернётесь к старому стилю «сначала код, потом тесты (или никогда)». Рекомендуем всем, кто хочет стать профессиональным Python-разработчиком.

Оценка: 9/10. Минус балл за то, что примеры ориентированы исключительно на Django — для Flask или FastAPI пришлось бы адаптировать. Но для целевой аудитории это скорее плюс.

Рекомендаций