Резюме

Пишите тесты сначала, наблюдайте, как они не проходят, затем реализуйте минимальный код, который пройдет.

  • Следование циклу red-green-refactor: написать падающий тест, проверить, что он падает корректно, реализовать минимальный код для прохождения, затем рефакторить, сохраняя тесты зелеными

  • Требуется удалить любой продакшн-код, написанный до появления тестов; без исключений для "reference" или "adaptation"

  • Подчеркивает, что наблюдение за тем, как тесты провалились, является доказательством того, что они действительно тестируют нужную вещь; тесты, которые проходят мгновенно, ничего не доказывают

  • Охватывает распространённые рационализации (тестирование после, ручная верификация, затраты, понесённые в прошлом) с конкретными возражениями и контрольным списком для проверки соблюдения TDD

Разработка через тестирование (TDD)

Обзор

Сначала напишите тест. Посмотрите, как он провалится. Напишите минимальный код, чтобы пройти.

Основной принцип: Если вы не наблюдали за тем, как тест провалился, вы не знаете, тестирует ли он правильную вещь.

Нарушение буквы правил нарушает дух правил.

Когда использовать

Всегда:

  • Новые функции

  • Исправления ошибок

  • Рефакторинг

  • Изменения поведения