Перейти к основному содержимому

TDD

Test Driven Development — это методология разработки ПО, при которой разработчики пишут тесты до написания самого кода.

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

Процесс разработки обычно состоит из трёх основных шагов:

  1. Написание тестов, которые изначально не проходят.
  2. Написание минимального рабочего кода, необходимого для прохождения тестов.
  3. Рефакторинг кода для улучшения его качества.

Правила написания тестов​

  1. Каждый тест должен проверять только одну конкретную функциональность: это облегчает изоляцию ошибок.
  2. Тесты должны покрывать как успешные, так и неуспешные случаи; т.е. должно проверяться поведение как для корректных, так и некорректных входных данных.
  3. Тесты должны быть независимыми друг от друга, чтобы один тест не влиял на другой.
  4. Тесты должны быть изолированными: они не должны зависеть от внешних систем или состояния окружения.
  5. Тесты не должны провоцировать реальные вызовы API, вместо этого для зависимостей используются заглушки (stubs) и моки (mocks).

Структура​

Тесты должны следовать структуре "AAA":

  1. Arrange: подготовка окружения, установка начальных условий
  2. Act: выполнение тестируемого действия
  3. Assert: проверка ожидаемого результата

Методичка написания функции​

  1. Уточнить ТЗ нечёткий ТЗ — результат ХЗ.
  2. Написать тесты для функции.
  3. Проверить тесты на охват всех случаев.
  4. Словами описать принцип, при помощи которого задача будет решаться.
  5. Приступить к написанию функции.