В целях модульного тестирования на стороне клиента вы должны издеваться над интерфейсом прокси-сервера веб-службы, чтобы клиент вызывал вашу ложную реплику без необходимости установки остальной системы.
В приложении может оказаться более удобным передавать параметры (например, адрес и привязку) на уровень WCF явным образом программно - оставляя на усмотрение приложения возможность использовать собственную конфигурацию или нет.
EDIT - расширение первой точки.
Смысл WCF в том, чтобы взять интерфейс и предоставить реализацию, которая выполняется где-то еще (через универсальный тип Channel
). В модульном тестировании вы хотите иметь возможность заменить сгенерированную WCF реализацию на интерфейс локальным макетом.
Изолируйте использование Channel
в методе, который можно переопределить или заменить в тестовом жгуте и который возвращает объект типа интерфейса. Затем в модульных тестах поменяйте местами свой собственный метод, который вместо этого возвращает макет.
Выполнение полного соединения WCF - и небольшого количества рукописного кода, который не может быть охвачен в модульном тестировании, - затем является частью стадии системного или интеграционного тестирования.