TDD как стиль работы
И вот вчера мне прилетает задача. Надо модифицировать существующий функционал в приложении.
Функционал скрыт в сервис-классе.
Сервис класс элементарно протестирован. Хотя может и хорошо протестирован. Я пока не погрузился. Но тесты работают.
Первое что я делаю — начинаю менять код сервисного класса. Прогоняю тесты постоянно. Упрощаю код. Делю его на меньшие блоки, на методы;
При этом ничего не ломается — я точно знаю, что код как работал, так и работает. Тестами же покрыт!
Из приложения этот сервисный класс вызвать не реально — надо слишком много процессов эмулировать руками. Тесты — единственный шанс менять сервис и не потратить при этом неделю на воспроизведение кейсов.
параллельно согласую с коллегой мой стиль кода и подход к упрощению — коллега хвалит — получается хорошо; Это важно — тестировать не только код но и подход.
Потом добавлю тестов и улучшу сервис. При этом как воспроизвести реальный кейс в проекте — понятия не имею; Только тесты — только разработка через них.
Post #321
70

- 👍 2