Единственный вопрос, который вы должны себе задать, заключается в следующем: смогу ли я или мои коллеги уверенно изменить код без частого выполнения этих тестов.Если ответ отрицательный - напишите и поддерживайте тесты, поскольку они дают значение.
Имея это в виду, вы можете подумать о рефакторинге своего кода, чтобы «низкоуровневая система» (например, управление сокетами и потоками) находилась вотдельный модуль, где вы явно относитесь к нему как к части контракта, который предоставляет этот модуль.