我有一个使用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