Столкнулся с подобной проблемой при тестировании с базой данных.При каждом выполнении теста соединение с базой данных было подключено и отключено.Выполнение тестов заняло слишком много времени, кроме того, целью тестов было проверить логику внутри определенной функции, а не подключаться / отключаться от базы данных.
Итак, подход был изменен, чтобы создавать и использовать фиктивные объекты вместо реальных объектов.Возможно, в вашем случае вы также можете смоделировать объект сервера и заставить фиктивный объект возвращать ответы на клиентские запросы и запускать утверждения для этих ответов, проверяя тем самым, что конкретный запрос получает конкретный соответствующий ответ.Следовательно, избегая запуска и остановки реального сервера для каждого выполнения теста.
подробнее о гуглах Google здесь
Обновление: если вы используете Visual Studio, вы можете использовать CppUnitTestFramework, который дает возможность выполнять функции только один раз на уровне модуля (TEST_MODULE_INITIALIZE)) или один раз на уровне класса (TEST_CLASS_INITIALIZE) или уровне метода и т. д. GMock также работает с Visual Studio CppUnitTestFramework.
проверьте здесь CppUnitTestFramework