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

TDD — это стиль кодирования, при котором код пишется, тестируется, а затем подвергается рефакторингу. Вы пишете модульный тест для одного аспекта вашего кода. Запустите тест для своего кода. Затем выполните рефакторинг, чтобы пройти тест. При рефакторинге вы пишете ровно столько кода, сколько необходимо для прохождения теста. Затем повторите процесс. Вы скомпилируете модульный тест, который будет проверять ваш код на каждом этапе.

Плюсы TDD

TDD заставляет код быть более модульным. Это также упрощает поддержку и рефакторинг вашего кода. Если код поддерживается тестами, вы можете провести рефакторинг и убедиться, что он по-прежнему работает, как задумано. TDD также является отличным инструментом для командных проектов. Это дает членам команды подстраховку, чтобы знать, имеет ли то, над чем они работают, какие-либо нежелательные побочные эффекты в другом коде.

Минусы TDD

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

Стоит ли оно того?

Написание хорошего теста — это форма искусства, и, как и любое другое искусство, его нужно практиковать. Разработка через тестирование имеет много плюсов и минусов. Это зависит от вас, если это хорошо подходит для вас. Если вы работаете над групповым проектом, это должно решаться всеми вами. Вся команда должна будет поддерживать свои тесты, чтобы добиться успеха в ваших усилиях по разработке, основанной на тестировании. Есть много хороших фреймворков для тестирования, таких как Mocha и Chai. (Нет, это не просто вкусные напитки.) Итак, попробуйте разработку через тестирование. Удачного кодирования!