Я разработал базовое приложение чата на Java. Он состоит из сервера и нескольких клиентов. Сервер постоянно отслеживает входящие сообщения и передает их всем клиентам. Клиент состоит из графического интерфейса пользователя Swing с текстовой областью (для сообщений, отправляемых сервером и другими клиентами), текстовым полем (для отправки текстовых сообщений) и кнопкой (ОТПРАВИТЬ). Клиент также постоянно следит за входящими сообщениями от других клиентов (через Сервер). Это достигается с помощью потоков и прослушивателей событий, и приложение работает как положено.
Но как мне провести модульное тестирование моего чата? Поскольку методы включают установление соединения с сервером и отправку / получение сообщений от сервера, я не уверен, что эти методы должны быть проверены модулем. Насколько я понимаю, модульное тестирование не должно выполняться для таких задач, как подключение к базе данных или сети.
Вот несколько тестов, которые я мог бы предложить:
1) Максимальный лимит текстового поля
2) Клиент может подключиться к Серверу
3) Сервер может подключиться к клиенту
4) Клиент может отправить сообщение
5) Клиент может получить сообщение
6) Сервер может отправить сообщение
7) Сервер может получить сообщение
8) Сервер может принимать соединения от нескольких клиентов
Но, поскольку большинство вышеперечисленных методов связаны с каким-либо сетевым взаимодействием, я не могу выполнить модульное тестирование. Как мне провести модульное тестирование моего чата?