我有一個使用WCF服務的應用程序。現在我想給應用程序添加單元測試。簡單的方法來模擬WCF服務?
對於某些情況,我需要模擬WCF服務,因爲從服務中獲取所需的行爲有時很困難(例如服務拋出特殊的異常)。
我可以爲wcf客戶端添加另一個接口,但這看起來有點愚蠢,因爲客戶端調用已經在使用接口。
有沒有簡單的方法來模擬WCF服務?比創建另一個界面層並重定向每個單獨的WCF調用更容易?
編輯:大部分的答案似乎不知道太多關於使用WCF服務,所以一些澄清:
要從視圖模型使用WCF服務,我要管理的連接是這樣的:
ChannelFactory<IMyWcfService> channelFactory = new ChannelFactory<IMyWcfService>("");
IMyWcfService proxy = channelFactory.CreateChannel();
proxy.CallMyStuff();
proxy.Close();
我不能將ViewModel代理傳遞給WCF,因爲每個事務都需要打開和關閉連接。因爲這個原因,使用RhinoMock/NMock將不起作用,因爲它們需要一個ViewModel,它將代理作爲參數,如果使用WCF,則不能這樣做。
+1直接模擬接口。 – 2009-01-02 17:22:17
請提供示例 – PositiveGuy 2013-10-21 03:12:06