Перейти к основному контенту
Tech Path Finder
КурсыИнтервьюКод-ревьюБлог
Tech Path Finder

Персонализированный путеводитель в IT. Квизы, мок-интервью, код ревью и аналитика прогресса.

@potapov_me

Платформа

  • Курсы
  • Прогресс
  • Мок-интервью
  • Код ревью
  • Живое ревью с ИИ
  • Тренажёр переговоров
  • Закладки

Контент

  • Блог
  • Главная
  • Обратная связь

Компания

  • О проекте
  • Тарифы
  • Условия использования
  • Конфиденциальность
  • Согласие на обработку данных
  • Cookie
  • Реквизиты

Аккаунт

  • Войти
  • Зарегистрироваться
  • Профиль

© 2026 Tech Path Finder. Все права защищены.

·ИП Потапов К.С.·Политика конфиденциальности·
Сделано с ❤️ в России
  1. Pytest: Legacy Code и TDD
Python экосистема·8 тем·32 вопроса·уровень Senior

Pytest: Legacy Code и TDD

Превращаем legacy-код в тестируемый и добавляем новые фичи через TDD. Сквозной проект Todo-приложения: покрываем модуль платежей без тестов, добавляем Premium-подписку через Red-Green-Refactor. Честный разговор о том, когда TDD работает, а когда мешает. 5.5 часов практики от characterization tests до прагматичного TDD.

Начать курс

Pytest: legacy-код и TDD

Чтобы безопасно менять код, нужны тесты. Чтобы написать тесты, нужно понимать, что код делает. Чтобы понять, что он делает, обычно приходится его менять. Курс — про выход из этого круга и про то, что делать с модулем, который все боятся трогать.

Восемь тем и сквозной проект. Первая половина — работа с наследством. Characterization tests: тесты, которые фиксируют текущее поведение, включая ошибочное, — вы не исправляете, вы протоколируете, чтобы заметить изменение. Швы (seams): места, куда можно вклиниться и подставить тестовый объект, не переписывая всё. Strangler Fig: постепенное замещение старого кода новым, при котором система работает на каждом шаге и нет дня большого переключения. Затем практика — модуль платежей без единого теста, к которому применяется всё сразу.

Вторая половина — TDD. Цикл Red-Green-Refactor подробно, с ответом на вопрос, когда тест пишется первым, а когда честнее после. Затем две темы практики: премиум-подписка добавляется в приложение через TDD целиком — от первого падающего теста до интеграции с API.

Последняя тема — та, которой обычно нет: где TDD помогает, а где мешает. Исследовательский код, задачи с неясными требованиями, UI — места, в которых догматичное следование циклу замедляет работу и не даёт ничего взамен.

Нужен рабочий pytest и опыт поддержки чужого кода.

  1. 1

    Legacy Code: Characterization Tests

    Как тестировать код, который не понимаешь. Документируем поведение через тесты. Фундамент работы с legacy

    4 вопроса
  2. 2

    Legacy Code: Seams и внедрение тестов

    Как внедрить тесты в непроверяемый код. Dependency injection для legacy. Швы и точки расширения

    4 вопроса
  3. 3

    Legacy Code: Strangler Fig Pattern

    Постепенная замена legacy-кода тестируемым. Миграция без big bang. Практическая стратегия

    4 вопроса
  4. 4

    Практика: Покрываем модуль платежей

    Берём модуль платежей Todo-приложения без тестов. Применяем все паттерны: characterization, seams, strangler fig

    4 вопроса
  5. 5

    TDD: Red-Green-Refactor цикл в деталях

    Цикл TDD пошагово: тест → реализация → рефакторинг. Когда писать тест первым, когда после. Прагматичный подход

    4 вопроса
  6. 6

    TDD Практика: Premium-подписка (Часть 1)

    Добавляем Premium-подписку в Todo через TDD. Тесты для бизнес-логики, модели, первые failing tests

    4 вопроса
  7. 7

    TDD Практика: Premium-подписка (Часть 2)

    Реализация Premium-подписки, рефакторинг, интеграция с API. Полный цикл от red до green

    4 вопроса
  8. 8

    TDD: Когда работает, когда мешает

    Честный разговор о TDD: где помогает, где замедляет. Прагматичный подход без фанатизма

    4 вопроса
  9. Зачёт

    Доступен после всех тем (0 из 8)

  10. Экзамен

    Доступен после зачёта

8 / 8

Legacy Code: Characterization Tests

Темы курса

Как тестировать код, который не понимаешь. Документируем поведение через тесты. Фундамент работы с legacy

Пример

Практические примеры темы «Legacy Code: Characterization Tests» показывают, как применять этот подход в тестовом проекте.

Связанные термины

Legacy Code: Seams и внедрение тестов

Темы курса

Как внедрить тесты в непроверяемый код. Dependency injection для legacy. Швы и точки расширения

Пример

Практические примеры темы «Legacy Code: Seams и внедрение тестов» показывают, как применять этот подход в тестовом проекте.

Связанные термины

Legacy Code: Strangler Fig Pattern

Темы курса

Постепенная замена legacy-кода тестируемым. Миграция без big bang. Практическая стратегия

Пример

Практические примеры темы «Legacy Code: Strangler Fig Pattern» показывают, как применять этот подход в тестовом проекте.

Связанные термины

Практика: Покрываем модуль платежей

Темы курса

Берём модуль платежей Todo-приложения без тестов. Применяем все паттерны: characterization, seams, strangler fig

Пример

Практические примеры темы «Практика: Покрываем модуль платежей» показывают, как применять этот подход в тестовом проекте.

Связанные термины

TDD: Red-Green-Refactor цикл в деталях

Темы курса

Цикл TDD пошагово: тест → реализация → рефакторинг. Когда писать тест первым, когда после. Прагматичный подход

Пример

Практические примеры темы «TDD: Red-Green-Refactor цикл в деталях» показывают, как применять этот подход в тестовом проекте.

Связанные термины

TDD Практика: Premium-подписка (Часть 1)

Темы курса

Добавляем Premium-подписку в Todo через TDD. Тесты для бизнес-логики, модели, первые failing tests

Пример

Практические примеры темы «TDD Практика: Premium-подписка (Часть 1)» показывают, как применять этот подход в тестовом проекте.

Связанные термины

TDD Практика: Premium-подписка (Часть 2)

Темы курса

Реализация Premium-подписки, рефакторинг, интеграция с API. Полный цикл от red до green

Пример

Практические примеры темы «TDD Практика: Premium-подписка (Часть 2)» показывают, как применять этот подход в тестовом проекте.

Связанные термины

TDD: Когда работает, когда мешает

Темы курса

Честный разговор о TDD: где помогает, где замедляет. Прагматичный подход без фанатизма

Пример

Практические примеры темы «TDD: Когда работает, когда мешает» показывают, как применять этот подход в тестовом проекте.

Связанные термины

Частые вопросы о курсе «Pytest: Legacy Code и TDD»

Состав курса, уровни, практика и способы проверки знаний.

Что входит в курс «Pytest: Legacy Code и TDD»?

Курс включает 8 тем и 32 вопроса с разбором ответа. Начать можно с первой темы курса.

Для какого уровня рассчитан курс «Pytest: Legacy Code и TDD»?

Маршрут охватывает уровни Senior. Темы расположены от основы к более сложным инженерным задачам, поэтому можно начать с подходящего места и не пропускать важные зависимости.

Как проверить, что материал усвоен?

После прохождения тем доступен зачёт по курсу «Pytest: Legacy Code и TDD» — 20 случайных вопросов с порогом 80%. После зачёта открывается экзамен с развёрнутыми ответами и автоматической оценкой, приближённый к техническому собеседованию.

Курс «Pytest: Legacy Code и TDD» бесплатный?

Да, курс полностью бесплатный: все 8 тем доступны без оплаты.