当前位置:  开发笔记 > 编程语言 > 正文

模拟WCF服务的简便方法?

如何解决《模拟WCF服务的简便方法?》经验,为你挑选了1个好方法。

我有一个使用WCF服务的应用程序.现在我想将单元测试添加到应用程序中.

在某些情况下,我需要模拟WCF服务,因为从服务中获取所需的行为有时很困难(例如,服务抛出特殊异常).

我可以添加另一个接口到wcf客户端,但这看起来有点傻,因为客户端调用已经在使用接口.

有一种简单的方法来模拟WCF服务吗?比创建另一个接口层并重定向其中的每个WCF调用更容易?

编辑:大多数答案似乎不太了解WCF服务使用,所以一些澄清:
要使用ViewModel的WCF服务,我必须管理这样的连接:

ChannelFactory channelFactory = new ChannelFactory("");
IMyWcfService proxy = channelFactory.CreateChannel();
proxy.CallMyStuff();
proxy.Close();

我不能只将代理的ViewModel传递给WCF,因为需要为每个事务打开和关闭连接.因此,使用RhinoMock/NMock不起作用,因为它们需要一个ViewModel来获取代理作为参数,如果您使用WCF,则不能这样做.



1> David Schmit..:

为什么你不能使用像NMock2这样的东西来IMyWcfService直接模拟接口?

如果您需要能够动态创建新实例,请使用Factory隐藏ChannelFactory客户端.通过这种方式,您可以替换工厂,为客户端提供创建模拟而不是真实代理的工具.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有