Модульное тестирование именованных каналов - PullRequest
2 голосов
/ 18 августа 2010

Каков рекомендуемый способ модульного тестирования объекта, который публикуется через NamedPipeServerStreams ?

Я думал использовать NamedPipeClientStream в модульном тесте, но тест просто зависает;Я подозреваю, что это связано с тем, что они оба находятся в одном и том же процессе.

1 Ответ

3 голосов
/ 19 августа 2010

Я бы написал интерфейс, который абстрагирует труднодоступные для тестирования части именованного канала.

Реализация этого была бы довольно простой (с использованием NamedPipe ... apis), и я бы не стал это тестировать модулем.

Как только это будет сделано, я использую интерфейс в коде приложения. У меня была бы фиктивная реализация в тестовом коде, и я использовал бы фиктивный объект, чтобы делать что-то на конвейере.

например. В моем интерфейсе было бы событие ClientConnected, представляющее некоторые данные о клиенте.

Затем я реализовал бы этот интерфейс в фиктивном объекте, чтобы он вызывал событие подключения к клиенту и утверждал, что приложение действовало правильно, когда клиент был подключен.

НТН.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...