Итак, некоторые преимущества TDD:
- Это означает, что в итоге у вас будет больше тестов. Всем нравится иметь тесты, но мало кому нравится их писать. Включение написания тестов в процесс разработки означает, что в итоге у вас будет больше тестов.
- Написание под тест заставляет вас задуматься о тестируемости вашего дизайна, а тестируемый дизайн - это почти всегда лучший дизайн. Мне не совсем понятно, почему так происходит, но мой опыт и опыт большинства сторонников TDD, похоже, подтверждает это.
- Вот исследование , в котором говорится, что хотя TDD требует немного больше времени на написание, это дает хороший возврат инвестиций, потому что вы получаете более качественный код, а значит, меньше ошибок, которые нужно исправлять.
- Это придает уверенности при рефакторинге. Это отличное чувство, когда можно изменить одну систему, не беспокоясь о том, что сломаешь все остальные, потому что они достаточно хорошо покрыты юнит-тестами.
- Вы почти никогда не получаете повторных ошибок, поскольку каждая найденная вами ошибка должна пройти проверку, прежде чем ее исправят.
Вы просили убедить вас, так что это были преимущества. Смотрите этот вопрос для более сбалансированного взгляда.
Рекомендую посмотреть эти видео для лучшего погружения в вопрос:
Прикрепленное видео 1 - Создание теста в GOOGLE
Прикрепленное видео 2 - Новая Модель, Разработка дизайна, Мой москвич на 1000 Коней. Фильм 4-й