Я начал пытаться выучить тдд и хотел использовать его в реальном проекте. Поэтому я решил запрограммировать простую синхронизацию файлов с клиентом и сервером в Java.
После более или менее доработки клиентской части я застрял при написании серверной части.
Чтобы выполнить модульное тестирование логики без доступа к внешним ресурсам, я поместил их в отдельные классы, чтобы можно было их высмеивать. Пока все хорошо.
Теперь вот мой вопрос:
Это изображение показывает, как я представлял, как все может выглядеть, где зеленые части завершены, а желтые еще не реализованы.
В моем случае я должен был бы передать RemoteServer
a ConnectionManager
. ConnectionManager
потребовались бы FileAdapter
и Communicator
для создания ClientConnectionHandler
. Это звучит как слишком много для меня. Это нормально для tdd'ing или я делаю что-то не так, чтобы все проверялось?
edit: класс ClientConnectionHandler отвечает только за логику синхронизации файлов на стороне сервера, что означает: следование моему мини-протоколу для получения файлов от клиента.