Код не «использует» поток, это просто класс, полученный из java.lang.Thread
.Ничто не мешает вам вызывать метод run()
напрямую, ведь вы тестируете свой класс, а не функциональность в java.lang.Thread
.
На самом деле вы хотите протестировать методы cleanup()
и writeToSocket
поэтому нет необходимости также вызывать метод run()
.
Просто создайте подкласс BaseHandler
, инициализируйте своих членов в этом подклассе с какими-то фиктивными объектами, и все готово.
Возможно, вам понадобятся другие изменения, чтобы упростить тестирование остальной части кода.Я предполагаю, что этот вопрос больше касается модульного тестирования существующей кодовой базы, а не TDD.