Сервисные ссылки на мои сервисы wcf, связанные с объектами клиента, не имеют открытого / закрытого интерфейса? - PullRequest
0 голосов
/ 08 февраля 2012

Попытка выполнить модульное тестирование моих контроллеров asp.net mvc 2, и возникла проблема с издевательством над моим клиентским кодом wcf.

Мои интерфейсы для сервисов wcf не имеют открытия / закрытия, поэтому я могу сделать это:

IMyServiceClient client = new MyServiceClient();

И в результате этого класса (moq) труднее высмеивать.

Как я могу обойти это?

1 Ответ

2 голосов
/ 08 февраля 2012

Причина, по которой IMyServiceClient не имеет методов Open & Close, заключается в том, что MyServiceClient наследуется от класса System.ServiceModel.ClientBase<T>.ClientBase<T> реализует интерфейс ICommunicationObject, который обеспечивает эти методы.Смоделируйте этот класс, настроив его для насмешки нескольких интерфейсов (IMyServiceClient и ICommunicationObject).

...