Мне недавно дали возможность написать простой tcp-клиент для моего проекта, и из-за моего огромного невежества по поводу tcp / ip мне трудно заставить его работать должным образом.
Я обнаружил, что иногда я могу получить странную проблему с соединением, когда соединение отклонено, поскольку tcp-сервер не работает, или иногда я могу получить исключение при вызове receive.
Поскольку tcp-сервер является черным ящиком, и у нас нет к нему доступа, мне интересно в этой ситуации, как лучше написать для этого модульные тесты?
Я думаю, мне следует либо написать tcp-сервер и заставить его возвращать определенные входные данные, как я ожидал от реального сервера, либо просто высмеивать функции, связанные с возвратом идеальных данных о ситуации.
Мне просто не нравится тот факт, что иногда у меня могут возникать странные проблемы с подключением / получением, и я хотел бы знать, как правильно написать модульный тест, который я могу повторно использовать / расширять в будущем, чтобы гарантировать, что все, что работает раньше, должно все еще будет работать на случай, если мой код или их код изменится.
спасибо