TDD
Test Driven Development — это методология разработки ПО, при которой разработчики пишут тесты до написания самого кода.
Такой подход требует больших начальных усилий, но в долгосрочной перспективе окупается за счет сокращения времени на отладку и поддержку.
Процесс разработки обычно состоит из трёх основных шагов:
- Написание тестов, которые изначально не проходят.
- Написание минимального рабочего кода, необходимого для прохождения тестов.
- Рефакторинг кода для улучшения его качества.
Правила написания тестов
- Каждый тест должен проверять только одну конкретную функциональность: это облегчает изоляцию ошибок.
- Тесты должны покрывать как успешные, так и неуспешные случаи; т.е. должно проверяться поведение как для корректных, так и некорректных входных данных.
- Тест ы должны быть независимыми друг от друга, чтобы один тест не влиял на другой.
- Тесты должны быть изолированными: они не должны зависеть от внешних систем или состояния окружения.
- Тесты не должны провоцировать реальные вызовы API, вместо этого для зависимостей используются заглушки (stubs) и моки (mocks).
Структура
Тесты должны следовать структуре "AAA":
- Arrange: подготовка окружения, установка начальных условий
- Act: выполнение тестируемого действия
- Assert: проверка ожидаемого результата
Методичка написания функции
- Уточнить ТЗ
нечёткий ТЗ — результат ХЗ. - Написать тесты для функции.
- Проверить тесты на охват всех случаев.
- Словами описать принцип, при помощи которого задача будет решаться.
- Приступить к н аписанию функции.