Написание юнит-теста для клиент-серверных программ - PullRequest
2 голосов
/ 06 декабря 2011

У меня есть клиент-серверная программа, и я хочу убедиться, что ее компоненты работают правильно.

Каковы лучшие практики написания юнит-тестов для таких сетевых программ?

Единственное, что мне приходит в голову, - это написать несколько базовых клиентов / серверов, которые подключаются к главному серверу / клиенту, обмениваются некоторыми конкретными пакетами и проверяют ответы.

Есть ли лучшие или более простые подходы?

1 Ответ

3 голосов
/ 06 декабря 2011

Эта проблема не является редкостью и является еще более распространенным сценарием в случае программ, ориентированных на БД.Вот почему люди изобрели издевательства.

Идея состоит в том, что вам на самом деле не нужен клиент (или сервер для этого вопроса), вам нужны только ответы на ваши действия из некоторого (возможно, неизвестного) источника.Это именно то, что делает макет.Он подделывает реализацию интерфейса и позволяет вам точно сказать, как реагировать на каждый полученный вызов.Вы заменяете свои вызовы на классы сетевого (или DB) уровня вызовами на макет, который реализует их действия.

PS, Даже Google может издеваться

...