У меня есть приложение, которое использует службу WCF. Теперь я хотел бы добавить модульные тесты в приложение.Легкий способ издеваться над WCF-сервисом?
В некоторых случаях мне нужно высмеять службу WCF, так как получение желаемого поведения из службы иногда является жестким (например, служба вызывает особые исключения).
Я мог бы добавить еще один интерфейс к клиенту wcf, но это кажется немного глупым, поскольку клиентские вызовы уже используют интерфейс.
Есть ли простой способ издеваться над сервисом WCF? Легче создавать другой уровень интерфейса и перенаправлять каждый вызов WCF внутри него?
Edit: Большинство ответов, кажется, не знаю много о службе WCF с использованием, поэтому некоторые уточнения:
Для использования службы WCF из ViewModel, я должен управлять соединением что-то вроде этого:
ChannelFactory<IMyWcfService> channelFactory = new ChannelFactory<IMyWcfService>("");
IMyWcfService proxy = channelFactory.CreateChannel();
proxy.CallMyStuff();
proxy.Close();
Я не могу просто передать ViewModel прокси в WCF, так как соединение должно быть открыто и закрыто для каждой транзакции. По этой причине использование RhinoMock/NMock не будет работать, так как им нужен ViewModel, который получает прокси как параметр, который не может быть выполнен так, если вы используете WCF.
+1 на насмешливые интерфейсы напрямую. –
, пожалуйста, укажите пример – PositiveGuy
, что такое ChannelFactory? – PositiveGuy