Разработка на основе тестов - убедите меня!

Разработка на основе тестов - убедите меня!
Разработка на основе тестов - убедите меня! - cdc @ Unsplash

Итак, некоторые преимущества TDD:

  1. Это означает, что в итоге у вас будет больше тестов. Всем нравится иметь тесты, но мало кому нравится их писать. Включение написания тестов в процесс разработки означает, что в итоге у вас будет больше тестов.
  2. Написание под тест заставляет вас задуматься о тестируемости вашего дизайна, а тестируемый дизайн - это почти всегда лучший дизайн. Мне не совсем понятно, почему так происходит, но мой опыт и опыт большинства сторонников TDD, похоже, подтверждает это.
  3. Вот исследование , в котором говорится, что хотя TDD требует немного больше времени на написание, это дает хороший возврат инвестиций, потому что вы получаете более качественный код, а значит, меньше ошибок, которые нужно исправлять.
  4. Это придает уверенности при рефакторинге. Это отличное чувство, когда можно изменить одну систему, не беспокоясь о том, что сломаешь все остальные, потому что они достаточно хорошо покрыты юнит-тестами.
  5. Вы почти никогда не получаете повторных ошибок, поскольку каждая найденная вами ошибка должна пройти проверку, прежде чем ее исправят.

Вы просили убедить вас, так что это были преимущества. Смотрите этот вопрос для более сбалансированного взгляда.

Рекомендую посмотреть эти видео для лучшего погружения в вопрос:

Прикрепленное видео 1 - Создание теста в GOOGLE

Прикрепленное видео 2 - Новая Модель, Разработка дизайна, Мой москвич на 1000 Коней. Фильм 4-й


LetsCodeIt, 18 мая 2023 г., 07:24

Похожие посты

Станут ли когда-нибудь доказательства корректности кода мейнстримом?Стоит ли вообще использовать goto?Корректность реализации за пределами контракта на подпись методов интерфейсаЯ написал класс с методом "init". Должен ли я вызывать его из других методов класса? Или оставить это на усмотрение пользователя объекта? (Проектирование кода)Хранение как скомпилированного сервиса для контейнера Docker, так и самого контейнера в репозитории. Хорошая практика, плохая практика или нет прецедента?Тестовое сокращение технического долгаКакова хорошая стратегия модульного тестирования цепочки вызовов публичных методов?Как инициировать модульное тестирование, когда вы хрюкаете?Зачем проверять объект на null, прежде чем проверять некоторые его внутренние компоненты?Модульное тестирование — следует ли / как мне писать тесты для покрытия нового кода, который не влияет на интерфейс метода?